משתנה בשם אובייקט ב VBA
-
האם אפשר להכניס משתנה לשם אובייקט בטופס של מאקרו באקסל לדוגמא
set i = CheckBox & x
(אני ניסיתי בהמון דרכים וזה לא הלך לי, השאלה אם בכלל כזה אופציה)
-
@חנון-המרבה לא יודע אם הבנתי. אבל האם יעזור לך לשנות שם של אובייקט באמצעות קוד?
-
@chagold אני צריך שהמאקרו תתייחס לאובייקטים:
- CheckBox1
- CheckBox2
- CheckBox3
וכן הלאה
אשר נמצאים בuserform, לכן אני רוצה לכתוב לולאה שירוץ מאחד עד שלוש (או עד כמה שצריכים) וכך פקודה אחת יחול על כל (או חלק מ) ה-CheckBox שבטופס.
אני ניסיתי כתוב בפוסט לעיל וזה לא הלך לי, מקווה שהובנתי. -
@חנון-המרבה
זה אפשרי לשנות בקוד ככה:set value=Me("ComboBox" & x).Text
ודוגמא:
Private Sub UserForm_Initialize() Dim i As Integer For i = 1 To 3 Me("ComboBox" & i).Text = i Next End Sub
דרך נוספת שבה אני משתמש לפעמים (בגלל מגבלת הVBA שלא לייצר פקדים בזמן ריצה. ב"ה בעולם הדוטנט לא מגיעים לשם....), זה לשים פרמטר מסויים במאפיין Tag ולרוץ על כלל הפקדים בטופס (זה תלוי לאן המקרה שלך הולך. בדוגמא שהבאת ייתכן שיותר נכון להשתמש במספר רציף)
לדוגמא:For Each c In Me.Controls If c.Tag = "order" Then End If Next