דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. כיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?

כיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?

מתוזמן נעוץ נעול הועבר תכנות
20 פוסטים 3 כותבים 597 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • פ מנותק
    פ מנותק
    פלורידה
    השיב לOdedDvir ב נערך לאחרונה על ידי
    #10
    פוסט זה נמחק!
    תגובה 1 תגובה אחרונה
    0
    • פ מנותק
      פ מנותק
      פלורידה
      השיב לOdedDvir ב נערך לאחרונה על ידי פלורידה
      #11

      @odeddvir אמר בכיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?:

      להלן הפונקציה החדשה להעתקת החוברת כולה לקובץ גיבוי:
      Public Sub BackupTo(targetWorkbook As String) Application.DisplayAlerts = False ThisWorkbook.SaveAs targetWorkbook, xlOpenXMLWorkbookMacroEnabled Application.DisplayAlerts = True End Sub

      למעשה שיניתי מעט את הקוד.

      Sub גיבוי()
       Application.DisplayAlerts = False
              ActiveWorkbook.Save
         BackupTo ActiveWorkbook.Path & "\גיבוי.xlsm"
             Workbooks.Open Filename:="\הדרן עלך.xlsm"
      ActiveWorkbook.Close True
      End Sub
      

      כאשר בשורה 3 הוא שומר את הקובץ לפני שהוא עושה לו שמירה בשם, (מה שעלול היה לבטל את כל השינויים בקובץ המקורי)

      בשורה 5 הוא "אמור" לפתוח מחדש את הקובץ הדרן עלך...

      ובשורה 6 הוא "אמור" לסגור את הקובץ....

      אך למרות שחשבתי את עצמי כבר גאון ב 'vba' עם ותק של חודש... שורה 5 ו 6 לא פועלים כמו שצריך...

      בשורה 5 הוא לא מזהה את שם הקובץ \הדרן עלך בעוד אני התכוונתי לציין את הנתיב על ידי \ שייפתח באותו תיקייה...

      ובשורה 6 הוא גם בעייתי, כי הוא סוגר את הקובץ הפעיל, כלומר את הקובץ שפתחתי כעת, בעוד אני מעוניין שיסגור לי את קובץ "גיבוי"

      OdedDvirO פ 2 תגובות תגובה אחרונה
      1
      • OdedDvirO מנותק
        OdedDvirO מנותק
        OdedDvir
        השיב לפלורידה ב נערך לאחרונה על ידי
        #12

        @פלורידה אמר בכיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?:

        בשורה 5 הוא "אמור" לפתוח מחדש את הקובץ הדרן עלך...

        למה? הוא כבר פתוח, לא?

        פ תגובה 1 תגובה אחרונה
        0
        • פ מנותק
          פ מנותק
          פלורידה
          השיב לOdedDvir ב נערך לאחרונה על ידי פלורידה
          #13

          @odeddvir אמר בכיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?:

          לא?

          לא. כי כאשר עושים לקובץ פתוח שמור בשם, אז הוא שומר בשם אחר, והקובץ המקורי נשאר סגור.

          תגובה 1 תגובה אחרונה
          0
          • פ מנותק
            פ מנותק
            פלורידה
            השיב לפלורידה ב נערך לאחרונה על ידי
            #14

            @פלורידה אמר בכיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?:

            ובשורה 6 הוא גם בעייתי, כי הוא סוגר את הקובץ הפעיל, כלומר את הקובץ שפתחתי כעת, בעוד אני מעוניין שיסגור לי את קובץ "גיבוי"

            לזה אני חושב שהפיתרון הוא

            Workbooks("גיבוי.xlsm").Close True
            
            OdedDvirO תגובה 1 תגובה אחרונה
            0
            • OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              השיב לפלורידה ב נערך לאחרונה על ידי
              #15

              @פלורידה לא צריך להסתבך.
              יש פקודה לשמור עותק של החוברת בצורה שקטה. פשוט תחליף את שורה 3 בפונקציה BackupTo כדלקמן:

              Public Sub BackupTo(targetWorkbook As String)
                  Application.DisplayAlerts = False
                  ThisWorkbook.SaveCopyAs targetWorkbook
                  Application.DisplayAlerts = True
              End Sub
              
              פ תגובה 1 תגובה אחרונה
              2
              • פ פלורידה התייחס לנושא זה ב
              • פ מנותק
                פ מנותק
                פלורידה
                השיב לOdedDvir ב נערך לאחרונה על ידי פלורידה
                #16

                @odeddvir אמר בכיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?:

                                                                                                                                            Public Sub BackupTo(targetWorkbook As String)                                                                                                                                                                                Application.DisplayAlerts = False                                                                                                                                                                                ThisWorkbook.SaveCopyAs targetWorkbook                                                                                                                                                                                Application.DisplayAlerts = True                                                                                                                                                                            End Sub                                            
                

                ניתן לשמור בתבנית שונה מהמקור? xlsx

                משום שבצורה הנוכחית שנשמר עם המאקרו, זה יוצר בעיות מסוימות.

                פ תגובה 1 תגובה אחרונה
                0
                • פ מנותק
                  פ מנותק
                  פלורידה
                  השיב לפלורידה ב נערך לאחרונה על ידי פלורידה
                  #17

                  כעת גיליתי את הבעיה שלי:

                  אין אפשרות להשתמש בFileFormat בעת שימוש ב SaveCopyAs

                  מקור

                  יש שם באתר עשרות הצעות איך לפתור את זה (יותר נכון איך לעקוף את זה) רובם עוסקים באפשרות לשמור את הקובץ (SaveCopyAs) בתבנית xlsm, ואח"כ לפתוח אותו ולשמור אותו מחדש (SaveAs) בתבנית xslx, וכדו'. מה שלא בדווקא פותר את הבעיה.

                  OdedDvirO תגובה 1 תגובה אחרונה
                  0
                  • OdedDvirO מנותק
                    OdedDvirO מנותק
                    OdedDvir
                    השיב לפלורידה ב נערך לאחרונה על ידי
                    #18

                    @פלורידה אמר בכיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?:

                    מה שלא בדווקא פותר את הבעיה.

                    תוכל לפרט מה בדיוק הבעיה בזה? לכאורה זה נראה הפתרון.

                    פ תגובה 1 תגובה אחרונה
                    0
                    • פ מנותק
                      פ מנותק
                      פלורידה
                      השיב לOdedDvir ב נערך לאחרונה על ידי פלורידה
                      #19

                      @odeddvir אמר בכיצד לגבות ולשחזר טווחים מסויימים מחוברת אקסל?:

                      תוכל לפרט מה בדיוק הבעיה בזה?

                      צפיציפית:

                      אני יוצר שחזור אוטומטי.
                      האירוע שמפעיל אותו הוא פתיחת הגליון.

                      הצורה שהוא מופעל:
                      בכל גליון יש תא שאחראי לדעת אם הגליון מגובה או לא. כלומר בעת סימון התא משתנה ללא מגובה.
                      בעת שחזור, התא משתנה למגובה.

                      בהנחה שפתחתי את הקובץ הדרן עלך וסימנתי ולאחר מכן לחצתי על "גיבוי" נשמר לי בקובץ גיבוי המידע שהוא לא מגובה.

                      בעת הפעלת הקובץ גיבוי (על ידי לחיצה על "שחזור" או על ידי הפיתרון הזה, שאוטומטית הוא ייפתח כדי להשתנות לxlsx), הוא יבדוק אם הוא מגובה או לא, ויגלה שלא, ואז הוא ינסה לעשות שחזור מעצמו.

                      מה יקרה אז? אני לא יודע...

                      באופן כללי:

                      מכיון שהבריכה שלי די קטנה, ושוחים שם הרבה דגים סומים וחסרי מזל, אני משתדל לפזר כמה שפחות כוסות חד פעמיות. 😉

                      OdedDvirO תגובה 1 תגובה אחרונה
                      1
                      • OdedDvirO מנותק
                        OdedDvirO מנותק
                        OdedDvir
                        השיב לפלורידה ב נערך לאחרונה על ידי OdedDvir
                        #20

                        @פלורידה אני מקוה שהבנתי, משהו פה נשמע מסובך יתר על המידה.
                        למה שלא תבדוק את שם הגליון הפעיל לפני שחזור ואם הוא שווה ל-גיבוי - פשוט אל תמשיך?

                        תגובה 1 תגובה אחרונה
                        1
                        • dovidD dovid העביר נושא זה מ-תכנות ב-

                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום