דילוג לתוכן

אקסל

387 נושאים 3.2k פוסטים

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


  • 11 נושאים
    65 פוסטים
    פ
    אז המאקרו הפשוט ביותר זה הקלטת מאקרו שראינו במדריך הקודם היתרונות של זה זה שזה לא דורש ידע רחב פשוט מקליטים ומסיימים החסרון בזה זה שזה דורש יצירה ממש של מה שאנחנו רוצים להקליט ולא רק פקודה עכשיו נלמד על דרך הרבה יותר קלה שבאמת תחסוך לכם זמן וכוח מבוא לVisual Basic ויז'ואל בייסק זה בעצם המקום שבמקום לכתוב בעצמכם את האוטומציה אתם פשוט נותנים לאוטומציה לעשות את עצמה כלומר: אני לא צריך לעשות בעצמי את האוטומציה אלא פשוט להזין את הקוד של הפעולה שלה הרי גם בהקלטת אוטמציה המחשב למעשה מתרגם את זה לקודים אז למה שבמקום לכתוב ואז המחשב מתרגם לקוד ואז מבצע פשוט נכתוב למחשב מראש את הקוד? לזה נולד הרעיון של Visual Basic-לכתוב ישר את הקוד בלי הקדמות אז ישר לעניין! הכרת Visual Basic וכליו [image: 1769291620543-9a2e3974-1ec4-4407-bd1c-2ddb0dea638d-image.png] זה ויז'ואל בייסיק נכנס אליו יפתח מסך כזה [image: 1769291672078-ab20851f-fc1c-4353-90d1-452fe535f488-image.png] יש לנו שם הרבה אופציות אבל אנחנו נתמקד בפקודות עצמם ותבנית המאקרו כתיבת והרצת קוד מאקרו נלך לפינה הימנית העליונה לInsert ונבחר בModule [image: 1769291721548-ae9f2aac-3550-4136-b5ce-71e7879278f5-image.png] יפתח לנו מסך כזה [image: 1769291741193-3e0316e1-5c3e-4492-84bf-ea1d4db6bf1f-image.png] זה בעצם הממשק של כתיבת הקוד שלנו כללי יסוד: כל מאקרו מתחיל בSub ולאחריו השם שאנחנו בוחרים לו ולסיום End Sub לדוגמא Sub MyFirstCode() End Sub ורוב המאקרו בנויים בסדר הזה מיקום-פעולה-ערך נקח לדוגמא מאקרו כזה Sub MyFirstCode() בחרנו שם , עכשיו לפקודה Range("A1").Value = "אוטומציה זה החיים" Range("A1").Interior.Color = vbYellow MsgBox "הפעולה הושלמה בהצלחה!" End Sub מה כתוב כאן? קודם כל בחרנו מיקום Range("A1") – אמרנו לאקסל לגשת לתא A1. אח"כ בחרנו פעולה = "אוטומציה זה החיים" ואח"כ שינינו את הערך של התא .Value – אמרנו לו לשנות את הערך (התוכן) שלו. .Interior.Color – אמרנו לו לגשת לצבע הפנימי שלו ולשנות אותו לצהוב (vbYellow). MsgBox – הקפצנו הודעה למסך בסיום. "הפעולה הושלמה בהצלחה" כך זה אמור להראות בממשק הקוד [image: 1769292419284-16640819-9200-4696-8e17-8aae71ba3428-image.png] נריץ את המאקרו בלחיצה על החץ למעלה [image: 1769292452492-6daeb8b4-f1c0-4a7b-b943-d9429ff89774-image.png] יפתח לנו מסך כזה [image: 1769292478552-c1971bb2-26c0-42fc-9f2c-3c1ff1af3dab-image.png] נלחץ על "RUN" וקיבלנו את התוצאה הזאת [image: 1769292551597-d8de57bc-1f02-423a-bce2-3cdda827ba44-image.png] כמובן שעכשיו אנחנו יכולים לקחת את הפקודה הזאת ולשפר אותה ולהוסיף את התוכן הערך והמיקום מכאן השמיים הם הגבול אבל זה המבנה הבסיסי של הפקודה אם אתם רוצים פקודה מסוימת לביצוע טקסט בצבע כזה או אחר ואתם לא יכולים לכתוב בעצמכם אתם יכולים לפנות לAI החביב עליכם שיפתור לכם את הבעיה ביתר קלות בל"נ אם יהיה עוד מדריך נדבר על לולאות וכו'
  • 334 נושאים
    3k פוסטים
    מ
    @האדם-השלישי כתב בבירור | נוסחת SUMIFS: יתכן שאפשר גם כך? =SUMIFS(A:A,B:B, {"א","ב"}) לא. ממש אי אפשר כך. סוגריים מסולסלים "{}" שימושיים לצורך יצירת מערך זליגה לתאים סמוכים. ה-SUM שהוספתי מקבץ חזרה את תוצאת המערך לתא אחד במקום לתאים סמוכים @האדם-השלישי כתב בבירור | נוסחת SUMIFS: עריכה: אני רואה שזה מחשבן שיש רק א' לא נכון. הוא מחשב גם את ב' (או שאין לך ב בטבלה, או שלא שמת לב שזה זולג הלאה לתא משמאל)
  • הדרכה ועזרה לשפה המתה VBA

    42 451
    42 נושאים
    451 פוסטים
    א
    @יעקב-ש Sub ImportCommentsToTable() Dim wsSource As Worksheet Dim wsDest As Worksheet Dim cmt As Comment Dim rng As Range Dim lastRow As Long Dim destRow As Long Set wsSource = ActiveSheet ' צור גיליון חדש לתוצאות Set wsDest = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) wsDest.Name = "הערות מיובאות" ' כותרות לטבלה wsDest.Range("A1").Value = "מיקום תא" wsDest.Range("B1").Value = "תוכן תא" wsDest.Range("C1").Value = "תוכן הערה" destRow = 2 ' שורה להתחלת הדאטה ' עבור כל התא עם הערה בגיליון המקורי For Each cmt In wsSource.Comments wsDest.Cells(destRow, 1).Value = cmt.Parent.Address(False, False) ' מיקום התא wsDest.Cells(destRow, 2).Value = cmt.Parent.Value ' תוכן התא wsDest.Cells(destRow, 3).Value = cmt.Text ' תוכן ההערה destRow = destRow + 1 Next cmt ' עצב טבלה lastRow = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Row wsDest.Range("A1:C" & lastRow).Select wsDest.ListObjects.Add(xlSrcRange, Selection, , xlYes).Name = "CommentsTable" wsDest.ListObjects("CommentsTable").TableStyle = "TableStyleMedium9" MsgBox "ייבוא ההערות הסתיים. נמצאו " & destRow - 2 & " הערות.", vbInformation End Sub מרובי בוט