ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
21 visibility
موضوع: آفیس توسط:

اگر در حال نوشتن ماکروهایی هستید که کاربرگ های مختلف را در یک ورک بوک پردازش می کنند، ممکن است قبل از انجام هر پردازشی نیاز داشته باشید که بفهمید چه نوع کاربرگ هایی در ورک بوک وجود دارد. این می تواند به ویژه بسیار مهم باشد زیرا برخی از دستورات VBA فقط روی انواع خاصی از کاربرگ ها کار می کنند.

قبل از اینکه بتوانید بفهمید چه نوع کاربرگ هایی در یک ورک بوک وجود دارد، مفید است بدانید که چگونه اکسل برخی از اشیاء تشکیل دهنده ورک بوک را به صورت داخلی ذخیره می کند. اکسل هم مجموعه کاربرگ ها و هم مجموعه نمودارها را نگهداری می کند. مجموعه Worksheets از اشیاء کاربرگ و مجموعه نمودارها از اشیاء ورق نمودار تشکیل شده است. اشیاء ورق نمودار آن دسته از نمودارهایی هستند که یک کاربرگ کامل را اشغال می کنند. شامل مواردی نمی شود که در یک کاربرگ جاسازی شده اند.

به اندازه کافی جالب توجه است که شیت های کاربرگ و برگه نمودار نیز اعضای مجموعه Sheets هستند. بنابراین، اگر می خواهید یک ورک بوک را به ترتیبی که برگه ها ایجاد می کنند پردازش کنید، ساده ترین کار را با قدم گذاشتن در مجموعه Sheets انجام دهید. هنگامی که این کار را انجام می دهید، می توانید ویژگی Type را از اشیاء مجزا در مجموعه بررسی کنید تا مشخص کنید که چه نوع شی است. اکسل دو نوع شی را تعریف می کند که می توانند به مجموعه Sheets تعلق داشته باشند:

  • xlکاربرگ. این یک کاربرگ معمولی است.
  • xlChart. این یک نمودار است.

دو نوع شیء زیر هنوز توسط Microsoft Excel پشتیبانی می شوند، اما مایکروسافت توصیه می کند که آنها را به آخرین نسخه Microsoft VBA منتقل کنید. (برای اطلاعات بیشتر در مورد کار با ماکروهای Excel 4.0 به صفحه وب فهرست شده در زیر مراجعه کنید.):

  • xlExcel4MacroSheet. این یک برگه ماکرو است، همانطور که در Excel 4.0 استفاده می شود.
  • xlExcel4IntlMacroSheet. این یک صفحه ماکرو بین المللی است که در Excel 4.0 استفاده می شود.
https://support.office.com/en-us/article/Working-with-Excel-4-0-macros-BA8924D4-E157-4BB2-8D76-2C07FF02E0B8

ممکن است وسوسه شوید که فکر کنید نگاه کردن به لیست انواع برگه کافی است. با این حال، جالب است که اکسل همیشه آنچه را که برای ویژگی Type انتظار دارید برمی گرداند. در عوض، اگر ویژگی Type را برای نمودار بررسی کنید، مقداری برابر با xlExcel4MacroSheet برمی گرداند. این می تواند برای هر ماکرو مشکلی ایجاد کند.

پس راه حل این است که نام هر مورد در مجموعه Sheets را با موارد موجود در مجموعه نمودارها مقایسه کنید. اگر نام در هر دو مجموعه باشد، پس می توان فرض کرد که برگه یک نمودار است. اگر در هر دو وجود ندارد، می توانید بیشتر تجزیه و تحلیل کنید تا ببینید کاربرگ یکی از انواع دیگر است یا خیر. ماکرو زیر، SheetType، دقیقاً از این روند پیروی می کند:

Sub SheetType()
    Dim iCount As Integer
    Dim iType As Integer
    Dim sTemp As String
    Dim oChart As Chart
    Dim bFound As Boolean

    sTemp = ""
    For iCount = 1 To Sheets.Count
        iType = Sheets(iCount).Type
        sTemp = sTemp & Sheets(iCount).Name & " is a"

        bFound = False
        For Each oChart In Charts
            If oChart.Name = Sheets(iCount).Name Then
                bFound = True
            End If
        Next oChart

        If bFound Then
            sTemp = sTemp & " chart sheet."
        Else
            Select Case iType
                Case xlWorksheet
                    sTemp = sTemp & " worksheet."
                Case xlChart
                    sTemp = sTemp & " chart sheet."
                Case xlExcel4MacroSheet
                    sTemp = sTemp & "n Excel 4 macro sheet."
                Case xlExcel4IntlMacroSheet
                    sTemp = sTemp & "n Excel 4 international macro sheet"
                Case Else
                    sTemp = sTemp & "n unknown type of sheet."
            End Select
        End If
        sTemp = sTemp & vbCrLf
    Next iCount
    MsgBox sTemp
End Sub

هنگامی که ماکرو را اجرا می کنید، یک کادر پیام واحد را می بینید که نام هر برگه را در ورک بوک شما به همراه نوع برگه آن نشان می دهد.

در نهایت، به یاد داشته باشید که این کد به شما می گوید که چه نوع برگه هایی در یک ورک بوک وجود دارد. به شما نمی گوید که آنها در چه نوع ورک بوک هستند. (به عبارت دیگر، ماکرو اهمیتی نمی دهد که در چه نسخه ای از Excel کار می کنید.)

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

613 دیدگاه

10.8k کاربر

143 نفر آنلاین
1 عضو و 142 مهمان در سایت حاضرند
اعضای حاضر در سایت
بازدید امروز: 9290
بازدید دیروز: 13001
بازدید کل: 19463586
...