נכון! זה גולל ימינה ושמאלה.
תודה
חנון המרבה
-
לחצנים בגלגלת עבכר -
לחצנים בגלגלת עבכריש לי מקלדת ועכבר דגם Microsoft Wireless Desktop 2000, ויש לי בעכבר בגלגלת (חוץ מהלחצן על הגלגלת) לחצנים ימינה ושמאלה, וזה לא פועל כלום, השאלה איך אני יכול להגדיר אותם?
(בתוכנה Mouse and Keyboard Center אין שם אפשרויות להגדרה זו, השאלה איפה כן, ואם לא - למה יצרו את הכפתורים האלו)
תודה -
דרוש מידע | פונקציה באקסל שמחזירה רק את שם התיקיה בה נמצא הקובץ@מטעמים ערך התא ישתנה כשתיכנס אליו ותצא. (כי התא לא יעבור "ריענון" עד שתפעיל עליו ריענון, כמו הנוסחא
=NOW()
לא יתרענן כל שניה, רק אם תיכנס בתא לערוך אותא ותצא או אפשרויות אחרות לריענון)
עכשיו לבעיה שלך יש פתרון - כדי שהתא ייחשב מחדש כשתיכנס בגיליון שוב, אפשר להוסיף בקוד הגיליון:Private Sub Worksheet_Activate() 'חישוב Calculate End Sub
או לחילופין בקוד החוברת העבודה
Private Sub Workbook_Activate() 'חישוב Calculate End Sub
עדכן אם הצליח...
-
מאקרו שכותב מאקרו אחר@OdedDvir אמר במאקרו שכותב מאקרו אחר:
Sub AddStringToSheetModule(sheetName As String, codeText As String) With ActiveWorkbook.VBProject.VBComponents(Sheets(sheetName).CodeName).CodeModule .AddFromString codeText End With End Sub
ואתה קורא לקוד כך:
AddStringToSheetModule "גיליון1", "Dim foo As String" + vbNewLine + "Dim bar As String"
אתה מלך!!! זה בדיוק בדיוק מה שאני צריך (כמו שכתבתי בכותרת
מאקרו שכותב מאקרו אחר
) -
מאקרו שכותב מאקרו אחר@Y-Excel-Access מצאתי כזה קוד (אני שם את הקוד בקובץ XLSB בגליון1 ומשם אני מעתיק את זה)
Public Sub CopyModule(SourceWB As Workbook, strModuleName As String, TargetWB As Workbook) ' Description: copies a module from one workbook to another ' example: CopyModule Workbooks(ThisWorkbook), "Module2", ' Workbooks("Food Specials Rolling Depot Memo 46 - 01.xlsm") ' Notes: If Module to be copied already exists, it is removed first, ' and afterwards copied Dim strFolder As String Dim strTempFile As String Dim FName As String If Trim(strModuleName) = vbNullString Then Exit Sub End If If TargetWB Is Nothing Then MsgBox "Error: Target Workbook " & TargetWB.Name & " doesn't exist (or closed)", vbCritical Exit Sub End If strFolder = SourceWB.Path If Len(strFolder) = 0 Then strFolder = CurDir ' create temp file and copy "Module2" into it strFolder = strFolder & "\" strTempFile = strFolder & "~tmpexport.bas" On Error Resume Next FName = Environ("Temp") & "\" & strModuleName & ".bas" If Dir(FName, vbNormal + vbHidden + vbSystem) <> vbNullString Then Err.Clear Kill FName If Err.Number <> 0 Then MsgBox "Error copying module " & strModuleName & " from Workbook " & SourceWB.Name & " to Workbook " & TargetWB.Name, vbInformation Exit Sub End If End If ' remove "Module2" if already exits in destination workbook With TargetWB.VBProject.VBComponents .Remove .Item(strModuleName) End With ' copy "Module2" from temp file to destination workbook SourceWB.VBProject.VBComponents(strModuleName).Export strTempFile TargetWB.VBProject.VBComponents.Import strTempFile Kill strTempFile On Error GoTo 0 End Sub Public Sub Main() Dim WB1 As Workbook Dim WB2 As Workbook Set WB1 = ThisWorkbook Set WB2 = Workbooks("1324.xlsm") Call CopyModule(WB1, "גיליון1", WB2) End Sub
(מקור)
התוצאה היא שזה נכנס ל-
Class Modules
(הצהוב) ולא לגיליון1
(הירוק).
יש לך פתרון -
מאקרו שכותב מאקרו אחר@Y-Excel-Access בבדיקה נוספת ראיתי שזה יוצר/מעתיק מודולים ולא קוד של גליון
-
מאקרו שכותב מאקרו אחר@Y-Excel-Access אני רוצה שקוד מאקרו ייצור קוד על הגליון
(לא הצלחתי לגמרי להבין את הקישור שהבאת, בעיקר בגלל שכל התמונות אינן מפוענחות ע"י נטפרי. תודה רבה) -
מאקרו שכותב מאקרו אחראני רוצה ליצור מאקרו (XLSB) שעושה דברים מסויימים על הקובץ הפעיל, ואחד מהדברים הוא שיעשה קוד על הגליון
Private Sub Worksheet_SelectionChange(ByVal Target As Range) bla bla End Sub
האם אפשרי כזה דבר?!
-
קריאה לUserForm דרך מאקרו באקסליש לי כמה UserForms, ולכל אחד יש שם אחר, השמות של הUserForm הוא כמו ערך של תא מסויימת, נניח שיש לי תאים אלו
ויש לי UserForms בשמות אלו- 25065 UserForm
- 15849 UserForm
- 24486 UserForm
- 14168 UserForm
ואני רוצה שבעת לחיצה על התא יפתח לי הUserForm ששמו הוא כשם התא, השאלה איך אני מכניס משתנה לשם אובייקט בVBA
(איך אני מפעיל את המאקרו בעת שאני עובר לתא - אני יודע, נתקעתי בהכנסת משתנה שנושא את ערך התא הפעיל לתוך האובייקט)
זה אמור להיראות בערך כךi = ActiveCell.Value Set x = UserForm & i
תודה לעוזרים.
-
שם לקובץ וורד דרך VBA@מנחם רעיון, אם כי לא הבנתי 100% איך מצרפים תגית (איך עושים זאת אני יודע, אבל לא מבין איך זה עובד), אבל הרעיון די הובן.
אי כי במקרה שלי זה לא לגמרי עוזר.
אני חשבתי פשוט להחיל סגנון על הטקסט הרצוי, ולעשות בראש העמוד או בסופו שדה StyleRef על הסגנון הנ"ל, ואז להפנות את המאקרו למילים האלו, ולשלוף את המילים.
היתרון בשיטה הזאת הוא שהמילים המבוקשות יהיה תמיד במקום קבוע ולא במקום אחר כל פעם.
השאלה איך אני מסמן שורה מסויימת נניח בראש העמוד דרך מאקרו. (זה קוד די מוכר אבל אין לי עכשיו את האפשרות למצוא את זה, אז מי שקל לו - שיעתיק את זה לכאן).
תודה רבה. -
שם לקובץ וורד דרך VBA@OdedDvir אמר בשם לקובץ וורד דרך VBA:
- הרעיון של שליפת שם מתוך הסגנון לא מוצא חן בעיני. זה לא נוח לערוך את הערך כך. עדיף לשלוף אותו מתוך הכותרת או תיבת טקסט.
כתבתי סגנון רק כדי להיתפס במשהו מסויים שהמאקרו יבין, אדרבה, אם יש לך רעיון אחר - אני רוצה לשמוע.
- מהיכן אתה מעונין להריץ את המאקרו?
מתוך קובץ הוורד עצמו (ולא מתוך NORMAL)
תודה רבה.
-
שם לקובץ וורד דרך VBAאני רוצה לעשות פקודת מאקרו שעושה שמירה בשם לקובץ וורד, ושם הקובץ יקח מאיזשהו טקסט בקובץ.
השאלה איך אני יכול לעשות זאת, האם לעשות סגנון בשם מסויים
ואז לשלוף משם את המידע (אין לי מושג איך) , או רעיון אחר.
תודה לעוזרים. -
סגירת תוכנת אקסך דרך VBAאני רוצה לסגור קובץ אקסל דרך VBA, ויש לי 2 דרכים לעשות זאת
- ברמת הקובץ -
ActiveWorkbook.Close
- ברמת התוכנה -
Application.Quit
הבעיה בדרך הראשונה היא שזה סוגר את החלון הפעיל אך אינו סוגר את התוכנה (ואם אין עוד קובץ אקסל פתוח - נשאר התוכנה פתוחה עם רקע אפור ריק), ובדרך השניה יש גם בעיה שהיא סוגרת את כל החלונות הפתוחים, ולא רק את החלון הפעיל.
ניסיתי לכתוב מאקרו שיבדוק אם יש עוד חלון פעיל, כך:Sub סגירה() On Error Resume Next If IsError(Windows(2).Activate) Then Application.Quit Else ActiveWorkbook.Close End If End Sub
אבל הבעיה בזה היא שלפעמים הקובץ הפעיל הוא החלון השני, השאלה אם יש דרך יותר מקורית כדי לבדוק את הנ"ל ולהגיע לתוצאה הרצויה, תודה.
- ברמת הקובץ -
-
תנאי בVBA לפי רשימה@odeddvir אני לא מנסה להגביל את הקלט של ׁInputBox, אני רוצה לקחת את הערך של ה
InputBox
ואז לבדוק את זה אם זה תואם לקריטוריונים מסויימים.
עכשיו אם אני רוצה שזה יהיה תואם לא
אוב
אוג
וכו' אני צריך לכתוב כזה קוד: (הדוגמא הוא לגבי שדהComboBox1
בUserForm
)If Not (ComboBox1.Value = "א" Or ComboBox1.Value = "ב" Or ComboBox1.Value = "ג" Or ComboBox1.Value = "ד" Or ComboBox1.Value = "ה" Or ComboBox1.Value = "ו" Or ComboBox1.Value = "ז") Then
אני רוצה פשוט לקצר את הקוד או לחילופין לדעת על משהו יותר רשמי.
(ספיציפי ל
ComboBox1
, ענית לי כברפשוט תשנה את מאפיין הסגנון
Style
של הרשימה לfmStyleDropDownList
אבל אני רוצה לדעת בכללי איך עושים את זה, תודה רבה.
-
תנאי בVBA לפי רשימה -
תנאי בVBA לפי רשימהאני רוצה לכתוב תנאי ב VBA באקסל לדוגמא שהערך של INPUTBOX יהיה ערך אחד מתוך רשימה, לדוגמא יש לי רשימה של א' ב' ג' וכו', וערך הנכנס לתוך הINPUTBOX חייב להיות משהו מתוך הרשימה, וכן אותו דבר לגבי שדה ב USERFROM.
לא יעזור לי בחירה מתוך רשימה, כי שם אפשר גם לכתוב לבד מה שרוצים, אני רוצה שבסופו של דבר אם הוא לא כתב משהו מהרשימה, אז... וכו'תודה לעוזרים.
-
משתנה בשם אובייקט ב VBA@chagold אני צריך שהמאקרו תתייחס לאובייקטים:
- CheckBox1
- CheckBox2
- CheckBox3
וכן הלאה
אשר נמצאים בuserform, לכן אני רוצה לכתוב לולאה שירוץ מאחד עד שלוש (או עד כמה שצריכים) וכך פקודה אחת יחול על כל (או חלק מ) ה-CheckBox שבטופס.
אני ניסיתי כתוב בפוסט לעיל וזה לא הלך לי, מקווה שהובנתי. -
משתנה בשם אובייקט ב VBAהאם אפשר להכניס משתנה לשם אובייקט בטופס של מאקרו באקסל לדוגמא
set i = CheckBox & x
(אני ניסיתי בהמון דרכים וזה לא הלך לי, השאלה אם בכלל כזה אופציה)
-
לולאה באותיות ב VBA@yossiz אז כיוונתי לדרך הרשמית
-
לולאה באותיות ב VBA@yossiz לפתרון הזה התכוונתי בכותבי
יש לי איזשהו דרך לעשות זאת,
אבל שאלתי אם יש משהו רשמי מובנה בשיטה הזאת.
בכל מקרה תודה רבה.