דילוג לתוכן

VBA - excel

43 נושאים 455 פוסטים

הדרכה ועזרה לשפה המתה VBA

קטגוריות משנה


  • 2 נושאים
    6 פוסטים
    N
    שני קורסים בעברית לשפת תכנות של מיקרוסופט אופיס - VBA משירות התעסוקה הישראלי. excel.kova. קישור לתיקייה בדרייב עם שני הקורסים. קישור להורדה ישירה לקורס שירות התעסוקה הישראלי. קישור להורדה ישירה לקורס excel.kova. אני מעלה זאת לאור ביקוש, לעזרה עם פקודות מאקרו במיקרוסופט אופיס. קרדיט ל @מגדלים שאיתר איחסון בדרייב לזה.
  • 41 נושאים
    449 פוסטים
    ב
    Spoiler הסיבה ללולאה האינסופית באופיס 365 היא האופן שבו הלולאה For Each word In doc.Words עובדת בשילוב עם עריכת הטקסט: כאשר משנים את word.Text, אוסף ה-Words במסמך מתעדכן בזמן אמת, מוחק את הרווח העוקב שהיה צמוד למספר, ומגדיר מחדש את הטווח כך שהמאקרו מזהה את המספר החדש שוב ושוב (או מאחד אותו עם המילה הבאה). בנוסף, במאקרו המקורי שלך הפונקציה השנייה (min_num) הכילה בטעות + 1 במקום - 1. כדי לפתור את הבעיה לגמרי, יש לעבור על המילים מהסוף להתחלה (לולאת For i = ... Step -1) או להשתמש בחיפוש מבוסס תווים כלליים (Wildcards), ולשמור על הרווח שאחרי המספר במידה והיה קיים. להלן הקוד המתוקן והמלא (כולל החלק שמוסיף רווח קשיח ^s לאחר המספרים כפי שהיה אצלך בקוד המקורי, ותיקון של פונקציית ההפחתה min_num):