תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

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

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

      אני רוצה לייבא ערכים בלבד ללא העיצוב מחוברת עבודה x לחוברת עבודה y

      האם אפשרי? וכיצד?

      OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • OdedDvir
        OdedDvir @פלורידה נערך לאחרונה על ידי

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

        פ תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • פ
          פלורידה @OdedDvir נערך לאחרונה על ידי

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

          תעתיק את כל הערכים,

          כיצד מעתיקים את כל הערכים מחוברת עבודה1 לחוברת עבודה2 ?

          OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • OdedDvir
            OdedDvir @פלורידה נערך לאחרונה על ידי

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

            פ תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • פ
              פלורידה @OdedDvir נערך לאחרונה על ידי

              @odeddvir כן

              OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • OdedDvir
                OdedDvir @פלורידה נערך לאחרונה על ידי 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"
                

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

                פ 2 תגובות תגובה אחרונה תגובה ציטוט 2
                • פ
                  פלורידה @OdedDvir נערך לאחרונה על ידי

                  @odeddvir

                  בוודאי אתה מתכוון להריץ את זה ב VBA...
                  אולי חסר שורה בהתחלה?
                  והיכן משלבים את הקוד השני?

                  OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • OdedDvir
                    OdedDvir @פלורידה נערך לאחרונה על ידי

                    @פלורידה את הקוד אתה מדביק בתוך מודול כלשהו.
                    את ההרצה אתה יכול לבצע מחלון הערכים המיידיים Immediate בחלק התחתון של עורך ה-VBA:
                    3117606e-3cb6-4703-a1c6-59ea1fafd615-תמונה.png
                    או ליצור לחצן שמריץ את הקריאה הנ"ל וכו'.

                    תגובה 1 תגובה אחרונה תגובה ציטוט 2
                    • פ
                      פלורידה נערך לאחרונה על ידי

                      עובד מצויין
                      קשה לי להתאפק להסתיר את התלהבותי 🙂

                      תגובה 1 תגובה אחרונה תגובה ציטוט 1
                      • פ
                        פלורידה @OdedDvir נערך לאחרונה על ידי

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

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

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

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

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

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

                        OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • OdedDvir
                          OdedDvir @פלורידה נערך לאחרונה על ידי

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

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

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

                          פ תגובה 1 תגובה אחרונה תגובה ציטוט 2
                          • פ
                            פלורידה @OdedDvir נערך לאחרונה על ידי

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

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

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

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

                            OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 1
                            • OdedDvir
                              OdedDvir @פלורידה נערך לאחרונה על ידי 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"
                              
                              פ תגובה 1 תגובה אחרונה תגובה ציטוט 2
                              • פ
                                פלורידה @OdedDvir נערך לאחרונה על ידי

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

                                OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • OdedDvir
                                  OdedDvir @פלורידה נערך לאחרונה על ידי

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

                                  פ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                  • פ
                                    פלורידה @OdedDvir נערך לאחרונה על ידי

                                    @odeddvir

                                    כשלון ביבוא

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

                                    OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • OdedDvir
                                      OdedDvir @פלורידה נערך לאחרונה על ידי OdedDvir

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

                                      פ 2 תגובות תגובה אחרונה תגובה ציטוט 1
                                      • פ
                                        פלורידה @OdedDvir נערך לאחרונה על ידי פלורידה

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

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

                                        תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                        • פ
                                          פלורידה @OdedDvir נערך לאחרונה על ידי פלורידה

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

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

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

                                          OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • OdedDvir
                                            OdedDvir @פלורידה נערך לאחרונה על ידי

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

                                            תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                            • הוזכר על-ידי  OdedDvir OdedDvir 
                                            • הוזכר על-ידי  פ פלורידה 
                                            • הוזכר על-ידי  פ פלורידה 
                                            • הוזכר על-ידי  פ פלורידה 
                                            • הוזכר על-ידי  פ פלורידה 
                                            • 1 / 1
                                            • פוסט ראשון
                                              פוסט אחרון
                                            בא תתחבר לדף היומי!