ساده سازی اشکال زدایی VBA: بینش در زمان واقعی با ویندوز فوری و محلی

در این مقاله به بررسی اشکال زدایی VBA با ویندوزهای فوری و محلی می پردازیم. شما یاد می گیرید که چگونه از طریق کد قدم بگذارید ، متغیرها را نظارت کنید و نقاط شکست را تنظیم کنید ، مهارت های اشکال زدایی خود را برای پروژه های خود افزایش دهید!
مفهوم مفهوم مقاله
مشکل:
هنگام انتقال از سایر ویرایشگرهای کد مانند کد Visual Studio ، استفاده از ویرایشگر کد VBA می تواند برای اشکال زدایی گیج کننده باشد زیرا این کنسول ندارد. علاوه بر این ، مشاهده مقادیر متغیرهای شما می تواند چالش برانگیز باشد.
راه حل:
پنجره فوری VBA معادل یک کنسول است و به شما امکان می دهد قطعه های کد را اجرا کرده و خروجی ها را در زمان واقعی مشاهده کنید. پنجره افراد محلی نمای پویا از همه متغیرها را ارائه می دهد و مقادیر فعلی آنها را با اجرای کد شما نشان می دهد. با یادگیری تنظیم نقاط شکست و قدم زدن از طریق برنامه خود با استفاده از نقاط اجرای ، می توانید به طور موثری اشکال زدایی و رفتار کد خود را درک کرده و درک کنید.
مایکروسافت VBA چیست و چرا باید آن را یاد بگیرید
VBA یا Visual Basic برای برنامه ها ، یک زبان برنامه نویسی است که توسط مایکروسافت برای خودکار سازی وظایف و بهبود عملکرد در برنامه های اداری مانند اکسل ، کلمه و دسترسی ایجاد شده است. این امکان را برای شما فراهم می کند تا ماکروها را برای کارهای تکراری ، مدیریت داده ها و انجام محاسبات پیچیده بسازید. VBA که در دفتر ادغام شده است ، یک محیط کاربر پسند را برای مبتدیان و برنامه نویسان باتجربه برای ارتقاء قابلیت های ابزار و بهینه سازی گردش کار فراهم می کند.
یادگیری VBA به ویژه در محیط های شرکتی که از Microsoft Office استفاده می شود بسیار مفید است. تسلط بر VBA عملکردهای اکسل را بهبود می بخشد و با تهیه برنامه های سفارشی که باعث صرفه جویی در وقت و هزینه می شود ، شما را به یک دارایی ارزشمند تبدیل می کند. این برنامه ها می توانند از اتوماسیون اصلی ورود داده ها تا ادغام های پیشرفته در برنامه های اداری متفاوت باشند. برای بینش های دقیق تر ، اولین مقاله من در این سری را بررسی کنید.
فعال کردن برگه توسعه دهنده در اکسل برای دسترسی به VBA
برای شروع استفاده از VBA در اکسل ، باید برگه “توسعه دهنده” را فعال کنید ، که دسترسی به ویرایشگر VBA و سایر ابزارهای مدیریت ماکرو را فراهم می کند. برای دستورالعمل های دقیق در مورد نحوه تنظیم برگه “توسعه دهنده” ، لطفاً به مقاله من “شروع کار با VBA در اکسل” مراجعه کنید. در آن مقاله ، من فرآیند گام به گام فعال کردن برگه “توسعه دهنده” ، دسترسی به ویرایشگر VBA و تنظیم محیط اکسل شما برای استفاده VBA را پوشش می دهم.
کنسول کجاست؟
شما به احتمال زیاد از ویرایشگر کد دیگری مانند VS Code آمده اید ، و تعجب می کنید “کنسول کجاست؟” خوب ، هیچ کدام وجود ندارد! در عوض ، به ما داده می شود “پنجره فوری“این به ما امکان می دهد قطعه های کد را اجرا کنیم ، عبارات را ارزیابی کرده و تولید را در زمان واقعی برای اهداف اشکال زدایی در VBA چاپ کنیم.
پنجره فوری VBA
برای دسترسی به پنجره فوری ، ویرایشگر VBA را باز کرده و سپس به منوی “مشاهده” بروید و “پنجره فوری” را انتخاب کنید یا به سادگی Ctrl + G را فشار دهید.
در پنجره فوری ، می توانید چندین عمل را انجام دهید ، از جمله:
-
قطعه های کد را اجرا کنید: می توانید قطعات کوچکی از کد VBA را مستقیماً برای آزمایش عملکرد یا انجام محاسبات سریع اجرا کنید.
-
عبارات را ارزیابی کنید: می توانید عبارات را تایپ کنید تا سریعاً نتایج آنها را ببینید ، که برای اشکال زدایی مفید است.
-
خروجی چاپی: از
Debug.Print
عبارت برای نمایش مقادیر متغیر یا پیام ها در پنجره فوری برای اهداف اشکال زدایی. -
متغیرها را تنظیم کنید: شما می توانید مقادیر را به متغیرها اختصاص دهید تا چگونه آنها بر کد شما تأثیر بگذارند.
-
مراحل فراخوانی: برای دیدن خروجی یا رفتار آنها بدون اجرای کل برنامه ، می توانید با زیرمجموعه ها یا توابع تماس بگیرید.
این گزینه ها پنجره فوری را به ابزاری قدرتمند برای آزمایش و اشکال زدایی کد VBA تبدیل می کند.
پنجره محلی VBA
پنجره محلی در VBA ابزاری خارق العاده برای بررسی دقیق تر کد شما است. این یک نمای در زمان واقعی از تمام متغیرهای برنامه شما را نشان می دهد ، ارزش های فعلی آنها و نحوه تغییر آنها با اجرای کد شما را نشان می دهد. این باعث می شود این منبع ارزشمند برای اشکال زدایی و درک جریان برنامه شما باشد.
برای دسترسی به پنجره افراد محلی ، ویرایشگر VBA را باز کنید ، به منوی “View” بروید و “پنجره محلی” را انتخاب کنید. پس از باز شدن ، لیستی از تمام متغیرهای موجود در محدوده و انواع و مقادیر آنها را مشاهده خواهید کرد.
با استفاده از پنجره افراد محلی می توانید:
-
نظارت بر تغییرات متغیر: تماشا کنید که چگونه متغیرها در زمان واقعی تغییر می کنند که از طریق کد خود قدم می زنید.
-
جریان کد را درک کنید: در مورد نحوه پردازش برنامه های برنامه ، که به ویژه برای محاسبات پیچیده یا منطق مفید است ، بینش کسب کنید.
-
اشکال زدایی: با مشاهده ارزشها یا رفتارهای غیر منتظره ، به سرعت موارد اشتباه را مشاهده کنید.
در حال اجرا و قدم زدن از طریق برنامه ها
اکنون که با پنجره فوری و پنجره های محلی کار می کنید ، می توانید کل برنامه خود را اجرا کنید و نتایج خود را مشاهده کنید Debug.Print
بیانیه ها می توانید برنامه خود را با کلیک روی دکمه “Run” در ویرایشگر VBA یا فشار دادن F5 روی صفحه کلید خود اجرا کنید. با این کار کد شما از ابتدا تا پایان اجرا می شود.
همچنین می توانید از طریق خط کد خود به صورت خط قدم بزنید تا بهتر نحوه عملکرد آن را بفهمید. این به شما امکان می دهد تا مقادیر متغیرهای خود را مشاهده کنید زیرا در پنجره افراد محلی به روز می شوند. این کار با استفاده از ویژگی “Step to” ، که از طریق منوی “اشکال زدایی” یا با فشار دادن F8 قابل دسترسی است ، انجام می شود. همانطور که از طریق کد خود قدم می زنید ، مشاهده کنید که چگونه مقادیر موجود در پنجره محلی ها تغییر می کند و چگونه پنجره فوری شما را نمایش می دهد Debug.Print
خروجی این فرآیند به شما امکان می دهد دقیقاً مشخص کنید که کد شما گمراه می شود و جریان اجرای را با جزئیات درک می کند.
نقاط شکست و اعدام
تنظیم نقاط شکست یک روش مؤثر برای کمک به اشکال زدایی در برنامه های بزرگتر است. شما می توانید آنها را از نظر استراتژیک در کل کد خود قرار دهید ، در صورت لزوم آنها را اضافه یا حذف کنید تا مشخص کنید که کدام بلوک های کد به درستی کار می کنند.
با استفاده از روش Breakpoints ، می توانید برنامه خود را اجرا کنید تا زمانی که ممکن است خطاها در آن رخ دهد ، به یک نقطه شکست رسیده برسد. در این مرحله ، می توانید از طریق خط کد خود به صورت خط قدم بزنید. خط فعلی کد به عنوان نقطه اعدام برجسته می شود. همانطور که از طریق کد خود قدم می زنید ، می توانید مقادیر متغیر را در پنجره فوری و پنجره های محلی مشاهده کنید ، که به شما در شناسایی خطاها کمک می کند.
تظاهرات اشکال زدایی
برای نشان دادن اشکال زدایی در VBA ، من یک برنامه ساده را نوشتم که به طور پویا داده ها را از یک برگه اکسل به یک آرایه بار می کند ، از ردیف 2 و خواندن از ستون های A و B. این روش با شناسایی ردیف آخر با داده ها ، طول ردیف های مختلف را در خود جای می دهد ، و اطمینان می دهد که همه ورودی ها اسیر می شوند.
این برنامه این داده ها را از برگه اکسل خوانده و آن را در یک آرایه ذخیره می کند. با اجرای برنامه ، می توانید پنجره فوری چاپ داده ها را با استفاده از آن مشاهده کنید Debug.Print
، تأیید کنید که به درستی بارگیری شده است. همچنین ، پنجره افراد محلی به شما امکان می دهد محتوای آرایه را در زمان واقعی رعایت کنید و به تأیید دقیق این اطلاعات کمک می کند.
با قدم گذاشتن در کد خود ، می توانید ببینید که چگونه هر یک از متغیرهای شما به روز می شود و چگونه داده ها از طریق برنامه شما جریان می یابد. این رویکرد مفید نه تنها به شما کمک می کند تا خطاها را بدست آورید بلکه درک خود را از نحوه پردازش داده های VBA عمیق تر می کند.
در اینجا اطلاعاتی که من در اکسل ، ستون های A و B وارد کردم ، از ردیف دو شروع کردم:
داده های شخصیت | |
---|---|
نام | لک |
نام خانوادگی | اسکله |
سلاح | دچار چراغ برق |
کشتی | X-Wing |
سیاره | تاتوئین |
وابستگی | اتحاد شورشی |
درجه | جدی شوالیه |
کد VBA زیر برای بارگیری پویا داده ها از یک برگه اکسل به یک آرایه طراحی شده است. در اینجا یک توضیح گام به گام در مورد نحوه عملکرد آن آورده شده است:
اعلامیه متغیر:
ws
به عنوان یک اعلام می شود Worksheet
هدف برای مراجعه به برگه خاص که داده ها از آن خوانده می شوند.
lastRow
است Long
متغیر مورد استفاده برای ذخیره تعداد آخرین ردیف که حاوی داده ها در ستون A است.
i
است Long
متغیر مورد استفاده به عنوان پیشخوان حلقه.
characterData
مجموعه ای پویا از رشته ها است که ویژگی های شخصیت و ارزش های آنها را ذخیره می کند.
تنظیم برگه:
در ws
متغیر روی مرجع “sheet1” کتاب کار فعلی تنظیم شده است. در صورت لزوم می توانید “sheet1” را به نام برگه خاص خود تغییر دهید.
تعیین ردیف آخر:
lastRow
با یافتن آخرین سلول غیر خالی در ستون A. محاسبه می شود ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
، که به طور موثری از پایین ستون حرکت می کند تا آخرین سلول پر شده را پیدا کند.
تغییر اندازه:
در characterData
آرایه با استفاده از ReDim
برای قرار دادن همه ردیف های داده ، به استثنای عنوان. آرایه دارای دو ستون است: یکی برای نام ویژگی ها و دیگری برای مقادیر مربوطه.
بارگیری داده ها:
بوها For
حلقه ها را از ردیف دوم تا ردیف آخر حلقه کنید. این حلقه ردیف هدر را رد می کند و بارگیری داده ها از ردیف دوم را شروع می کند.
در داخل حلقه ، هر نام ویژگی از ستون A و مقدار مربوط به آن از ستون B در characterData
آرایه
داده خروجی:
دیگر For
حلقه های تکرار شده از طریق characterData
آرایه ، چاپ هر ویژگی و مقدار آن به پنجره فوری با استفاده از Debug.Print
بشر این یک نمای در زمان واقعی از داده های بارگذاری شده در آرایه را فراهم می کند.
این کد به طور مؤثر داده ها را به صورت پویا در اکسل کنترل می کند و به عنوان داده های موجود در برگه ، به روزرسانی ها و اصلاحات آسان امکان پذیر است.
Sub LoadCharacterDataDynamically()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim characterData() As String
' Set the worksheet to the active sheet or specify the sheet name
Set ws = ThisWorkbook.Sheets("Sheet1") ' Change "Sheet1" to your sheet name if needed
' Find the last row with data in column A
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' Resize the array based on the number of rows with data, excluding the header
ReDim characterData(1 To lastRow - 1, 1 To 2)
' Load data from the Excel sheet into the array, starting from the second row
For i = 2 To lastRow
characterData(i - 1, 1) = ws.Cells(i, 1).Value ' Attribute name
characterData(i - 1, 2) = ws.Cells(i, 2).Value ' Attribute value
Next i
' Step through the array and print to Immediate Window
For i = 1 To lastRow - 1
Debug.Print characterData(i, 1) & ": " & characterData(i, 2)
Next i
End Sub
سایر مقالات مرتبط من
حتماً به HTML همه چیز پادکست گوش دهید!
📝 من همچنین مقالاتی را برای HTML All Things Podcast می نویسم ، که می توانید در وب سایت آنها بخوانید: https://www.htmlallthethings.com/بشر
حتماً HTML همه موارد را در اجتماعی بررسی کنید!
پیوندهای وابسته و تخفیف!
با CodemonKey ، یادگیری می تواند همه سرگرم کننده و بازی باشد! Codemonkey آموزش و پرورش را به یک تجربه جذاب تبدیل می کند و کودکان را قادر می سازد تا از مصرف کنندگان فناوری به سازندگان تکامل یابد. از Codemonkey استفاده کنید محاکمه رایگان برای باز کردن پتانسیل باورنکردنی سازندگان فناوری جوان!
بچه ها با داشتن یک مسیر یادگیری ساختاری متناسب با گروه های سنی مختلف ، از برنامه نویسی بلوک به موضوعات پیشرفته تر مانند علم داده و هوش مصنوعی ، با استفاده از زبانهایی مانند CoffeeScript و Python پیشرفت می کنند. این پلتفرم شامل ویژگی هایی برای والدین و معلمان برای پیگیری پیشرفت ، و یکپارچه سازی برنامه نویسی در تنظیمات خانه و کلاس است.
Codemonkey از طریق بازی های سرگرم کننده ، پروژه های دستی و تعامل جامعه ، به زبان آموزان جوان کمک می کند تا مهارت های کار تیمی را بسازند و برای دستاوردهای خود به رسمیت شناخته شوند. این عشق به برنامه نویسی را تقویت می کند و کودکان را برای فرصت های شغلی آینده در یک منظره فنی در حال تحول آماده می کند.
برای کسب اطلاعات بیشتر در مورد CodemonKey ، می توانید مفصل من را بخوانید مقاله مرور!
پیوندهای وابسته:
با استفاده از این لینک وابسته ، حرفه خود را با 20 ٪ تخفیف در Scrimba Pro پیش ببرید!
با Scrimba Pro یک توسعه دهنده استخدام شوید! با دسترسی کامل به کلیه دوره ها ، پروژه های دستی و یک جامعه پر جنب و جوش ، دنیای دانش کدگذاری را کشف کنید. شما می توانید مقاله من را بخوانید تا در مورد تجربیات استثنایی من با Scrimba و چگونگی کمک به بسیاری از آنها به توسعه دهندگان وب با اعتماد به نفس و ارائه دهنده وب کمک کنید!
مهم: این تخفیف فقط برای حساب های جدید است. اگر در حال حاضر تخفیف بالاتری در دسترس باشد ، به صورت خودکار اعمال می شود.
نحوه ادعای تخفیف خود:
-
برای کاوش در Scrimba 2.0 جدید ، روی پیوند کلیک کنید.
-
یک حساب جدید ایجاد کنید.
-
ارتقا به Pro ؛ تخفیف 20 ٪ به طور خودکار اعمال می شود.
افشای اطلاعات: این مقاله شامل پیوندهای وابسته است. من از هرگونه خریدهایی که از طریق این پیوندها انجام می شود بدون هیچ هزینه اضافی برای شما ، کمیسیون کسب می کنم. پشتیبانی شما به من کمک می کند تا به ایجاد محتوای ارزشمند ادامه دهم. ممنون
پایان
بر خلاف سایر ویرایشگرهای کد ، VBA یک کنسول سنتی ندارد. در عوض ، یک پنجره فوری ارائه می دهد ، که می توانید به طور مشابه با یک کنسول برای اجرای قطعه کد و مشاهده خروجی ها استفاده کنید.
VBA همچنین یک پنجره محلی برای کمک به شما در بررسی دقیق تر کد خود ارائه می دهد. این یک نمای در زمان واقعی از تمام متغیرهای برنامه شما را نشان می دهد ، ارزش های فعلی آنها و نحوه تغییر آنها با اجرای کد شما را نشان می دهد. این باعث می شود این منبع ارزشمند برای اشکال زدایی و درک جریان برنامه شما باشد.
با یادگیری تنظیم نقاط شکست و قدم زدن از طریق کد خود ، می توانید درک عمیق تری از جریان برنامه خود کسب کرده و خطاها را به طور مؤثر شناسایی کنید.
من یک برنامه ساده نوشتم که می توانید برای نشان دادن اشکال زدایی VBA کپی کنید. این نشان می دهد که چگونه می توان این تکنیک ها را در سناریوهای دنیای واقعی اعمال کرد. با این بینش ها و مهارت ها ، اکنون برای ارتقاء پروژه های VBA خود بهتر مجهز شده اید و روند اشکال زدایی خود را ساده تر می کنید!
آیا اکنون در مورد اشکال زدایی کد VBA با استفاده از ویندوزهای فوری و محلی اطمینان بیشتری دارید؟ آیا تکنیک های جدیدی را برای اشکال زدایی کارآمد کشف کرده اید؟ لطفا مقاله را به اشتراک بگذارید و نظر دهید!