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

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

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

אקסל | ייבוא ערכים מחוברת עבודה

מתוזמן נעוץ נעול הועבר תוכנה
20 פוסטים 2 כותבים 456 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • OdedDvirO OdedDvir

    @פלורידה הפונקציה הבאה מעתיקה טווח של תאים מכל הגליונות בחוברת הפעילה, ומדביקה אותם ללא עיצוב בחוברת אחרת.

    Public Sub CopyAllSheets(targetWorksheet as string, selectedRange As String)
       Dim source As Workbook, target As Workbook
       Dim sh As Worksheet
    
       Set source = ThisWorkbook
       Set target = Workbooks.Open(targetWorksheet)
    
       For Each sh In source.Sheets
            sh.Range(selectedRange).Copy
            target.Worksheets(sh.Name).Range(selectedRange).PasteSpecial Paste:=xlPasteValues
       Next sh
    End Sub
    

    בהרצה אתה צריך לספק את שם חוברת היעד, ואת הטווח להעתקה, כך:

    CopyAllSheets "d:\Temp\target.xlsx", "A:BB"
    

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

    פ מנותק
    פ מנותק
    פלורידה
    כתב ב נערך לאחרונה על ידי
    #10

    @odeddvir אמר באקסל | ייבוא ערכים מחוברת עבודה:

    את שם חוברת היעד

    א. ניתן לעשות את זה בנתיב שאינו קבוע?

    לדוג'.לקובץ 'גיבוי' שבאותו נתיב שבו נמצא הקובץ המקורי?

    ב. האם אפשר לעשות גם ייבוא באותו אופן.

    (אני מנחש שאתה כבר מבין בדיוק מה אני זומם...)

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • פ פלורידה

      @odeddvir אמר באקסל | ייבוא ערכים מחוברת עבודה:

      את שם חוברת היעד

      א. ניתן לעשות את זה בנתיב שאינו קבוע?

      לדוג'.לקובץ 'גיבוי' שבאותו נתיב שבו נמצא הקובץ המקורי?

      ב. האם אפשר לעשות גם ייבוא באותו אופן.

      (אני מנחש שאתה כבר מבין בדיוק מה אני זומם...)

      OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      כתב ב נערך לאחרונה על ידי
      #11

      @פלורידה אמר באקסל | ייבוא ערכים מחוברת עבודה:

      א. ניתן לעשות את זה בנתיב שאינו קבוע?
      לדוג'.לקובץ 'גיבוי' שבאותו נתיב שבו נמצא הקובץ המקורי?
      ב. האם אפשר לעשות גם ייבוא באותו אופן.
      (אני מנחש שאתה כבר מבין בדיוק מה אני זומם...)

      על הכל התשובה היא כן, חוץ מהמשפט האחרון. אולי תשתף מה בדיוק אתה זומם?

      פ תגובה 1 תגובה אחרונה
      2
      • OdedDvirO OdedDvir

        @פלורידה אמר באקסל | ייבוא ערכים מחוברת עבודה:

        א. ניתן לעשות את זה בנתיב שאינו קבוע?
        לדוג'.לקובץ 'גיבוי' שבאותו נתיב שבו נמצא הקובץ המקורי?
        ב. האם אפשר לעשות גם ייבוא באותו אופן.
        (אני מנחש שאתה כבר מבין בדיוק מה אני זומם...)

        על הכל התשובה היא כן, חוץ מהמשפט האחרון. אולי תשתף מה בדיוק אתה זומם?

        פ מנותק
        פ מנותק
        פלורידה
        כתב ב נערך לאחרונה על ידי
        #12

        @odeddvir כפי הנראה אני מתכוון לפרסם גרסא/ות יותר מעודכנות.
        כמו למשל גרפים וכו'...

        הבעיה שבהתקנה התוכנה דורסת את הגירסא הקודמת...

        הרעיון שלי הוא שבהתקנה יותקן קובץ גיבוי, ובתכנה יהיה לחצן גיבוי (כבר יש... 🙂 ) ולחצן שחזור, כלומר שישאב את הנתונים מקובץ הגיבוי.

        (כמובן שאת קובץ הגיבוי נתקין באופן שהוא לא דורס את הגירסא הקודמת שלו, אלא מדלג אם יש...)

        OdedDvirO תגובה 1 תגובה אחרונה
        1
        • פ פלורידה

          @odeddvir כפי הנראה אני מתכוון לפרסם גרסא/ות יותר מעודכנות.
          כמו למשל גרפים וכו'...

          הבעיה שבהתקנה התוכנה דורסת את הגירסא הקודמת...

          הרעיון שלי הוא שבהתקנה יותקן קובץ גיבוי, ובתכנה יהיה לחצן גיבוי (כבר יש... 🙂 ) ולחצן שחזור, כלומר שישאב את הנתונים מקובץ הגיבוי.

          (כמובן שאת קובץ הגיבוי נתקין באופן שהוא לא דורס את הגירסא הקודמת שלו, אלא מדלג אם יש...)

          OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          כתב ב נערך לאחרונה על ידי OdedDvir
          #13

          @פלורידה הבנתי.
          פשוט נשנה את הקוד קצת:

          Private Sub CopyAllSheets(source As Workbook, target As Workbook, selectedRange As String)
             Dim sh As Worksheet
             For Each sh In source.Sheets
                  sh.Range(selectedRange).Copy
                  target.Worksheets(sh.Name).Range(selectedRange).PasteSpecial Paste:=xlPasteValues
             Next sh
          End Sub
          
          Public Sub BackupTo(targetWorkbook As String, selectedRange As String)
             CopyAllSheets ThisWorkbook, Workbooks.Open(targetWorkbook), selectedRange
          End Sub
          
          Public Sub RestoreFrom(sourceWorkbook As String, selectedRange As String)
             CopyAllSheets Workbooks.Open(sourceWorkbook), ThisWorkbook, selectedRange
          End Sub
          

          כעת כדי לגבות תריץ:

          BackupTo ActiveWorkbook.Path & "\גיבוי.xlsx", "A:BB"
          

          וכדי לשחזר תריץ:

          RestoreFrom ActiveWorkbook.Path & "\גיבוי.xlsx", "A:BB"
          
          פ תגובה 1 תגובה אחרונה
          2
          • OdedDvirO OdedDvir

            @פלורידה הבנתי.
            פשוט נשנה את הקוד קצת:

            Private Sub CopyAllSheets(source As Workbook, target As Workbook, selectedRange As String)
               Dim sh As Worksheet
               For Each sh In source.Sheets
                    sh.Range(selectedRange).Copy
                    target.Worksheets(sh.Name).Range(selectedRange).PasteSpecial Paste:=xlPasteValues
               Next sh
            End Sub
            
            Public Sub BackupTo(targetWorkbook As String, selectedRange As String)
               CopyAllSheets ThisWorkbook, Workbooks.Open(targetWorkbook), selectedRange
            End Sub
            
            Public Sub RestoreFrom(sourceWorkbook As String, selectedRange As String)
               CopyAllSheets Workbooks.Open(sourceWorkbook), ThisWorkbook, selectedRange
            End Sub
            

            כעת כדי לגבות תריץ:

            BackupTo ActiveWorkbook.Path & "\גיבוי.xlsx", "A:BB"
            

            וכדי לשחזר תריץ:

            RestoreFrom ActiveWorkbook.Path & "\גיבוי.xlsx", "A:BB"
            
            פ מנותק
            פ מנותק
            פלורידה
            כתב ב נערך לאחרונה על ידי
            #14

            @odeddvir הנתיב שהבאת מפנה לתיקייה שבאותו קובץ?

            OdedDvirO תגובה 1 תגובה אחרונה
            0
            • פ פלורידה

              @odeddvir הנתיב שהבאת מפנה לתיקייה שבאותו קובץ?

              OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              כתב ב נערך לאחרונה על ידי
              #15

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

              פ תגובה 1 תגובה אחרונה
              1
              • OdedDvirO OdedDvir

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

                פ מנותק
                פ מנותק
                פלורידה
                כתב ב נערך לאחרונה על ידי
                #16

                @odeddvir

                כשלון ביבוא

                42395203-f697-43e6-881a-d345d176a5d2-image.png

                OdedDvirO תגובה 1 תגובה אחרונה
                0
                • פ פלורידה

                  @odeddvir

                  כשלון ביבוא

                  42395203-f697-43e6-881a-d345d176a5d2-image.png

                  OdedDvirO מנותק
                  OdedDvirO מנותק
                  OdedDvir
                  כתב ב נערך לאחרונה על ידי OdedDvir
                  #17

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

                  פ 2 תגובות תגובה אחרונה
                  1
                  • OdedDvirO OdedDvir

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

                    פ מנותק
                    פ מנותק
                    פלורידה
                    כתב ב נערך לאחרונה על ידי פלורידה
                    #18

                    @odeddvir כלומר אם אני יניח בקוד את הטווח הרלוונטי (עמודות 2-5 בגליונות ) הנ"ל, לא תהיה בעיה בשחזור...

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

                    תגובה 1 תגובה אחרונה
                    1
                    • OdedDvirO OdedDvir

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

                      פ מנותק
                      פ מנותק
                      פלורידה
                      כתב ב נערך לאחרונה על ידי פלורידה
                      #19

                      @odeddvir אמר באקסל | ייבוא ערכים מחוברת עבודה:

                      אני מניח שחלק מהגליון נעול לשינויים, ולכן השחזור לא מצליח.

                      ניסיתי על גליון חלק ונתן לי את אותה השגיאה...

                      OdedDvirO תגובה 1 תגובה אחרונה
                      0
                      • פ פלורידה

                        @odeddvir אמר באקסל | ייבוא ערכים מחוברת עבודה:

                        אני מניח שחלק מהגליון נעול לשינויים, ולכן השחזור לא מצליח.

                        ניסיתי על גליון חלק ונתן לי את אותה השגיאה...

                        OdedDvirO מנותק
                        OdedDvirO מנותק
                        OdedDvir
                        כתב ב נערך לאחרונה על ידי
                        #20

                        @פלורידה מני מניח שהתכוונת לחוברת ריקה. בחוברת ריקה זה גם לא יעבוד, כי צריך שכל הגליונות יהיו קיימים, אלא שיהיו ריקים (הקוד לא יוצר גליונות חדשים).

                        תגובה 1 תגובה אחרונה
                        1
                        • OdedDvirO OdedDvir התייחס לנושא זה ב
                        • פ פלורידה התייחס לנושא זה ב
                        • פ פלורידה התייחס לנושא זה ב
                        • פ פלורידה התייחס לנושא זה ב
                        • פ פלורידה התייחס לנושא זה ב
                        תגובה
                        • תגובה כנושא
                        התחברו כדי לפרסם תגובה
                        • מהישן לחדש
                        • מהחדש לישן
                        • הכי הרבה הצבעות


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

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

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