דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. בקשה | מיון קבצים מרובים לתיקיות לפי קובץ אקסל

בקשה | מיון קבצים מרובים לתיקיות לפי קובץ אקסל

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
11 פוסטים 4 כותבים 113 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ס סתם אחד 2

    היי
    יש לי קובץ אקסל שבו בעמודה הראשונה שמות קבצים ובעמודה השניה הקטגוריה שלהם
    אני מעוניין להעביר את כלל הקבצצים לתתי תיקיות לפי הקטגוריות שבקובץ
    האם יש תוכנה כל שהיא העושה זאת
    באשכול המצורף דובר על בעיה דומה אך לא הצלחתי להגיע לתוצאה רצויה
    האם יש אפשרות להעלות קובץ מקומפל בכדי לעשות זאת באופן פשוט
    תודה רבה!
    https://mitmachim.top/topic/72044/בירור-מיון-קבצים-מרובים-לפי-שמות/25

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

    @סתם-אחד-2
    הנה קוד VBA באדיבות GPT

    Sub סידור_קבצים()
        Dim ws As Worksheet
        Dim lastRow As Long
        Dim i As Long
        Dim sourceFolder As String
        Dim fileBaseName As String
        Dim category As String
        Dim fileFound As Boolean
        Dim fileName As String
        Dim targetFolder As String
        Dim fso As Object
        Dim folderPicker As FileDialog
        Dim fileItem As Object
        Dim folder As Object
    
        ' בחירת תיקיית המקור
        Set folderPicker = Application.FileDialog(msoFileDialogFolderPicker)
        With folderPicker
            .Title = "בחר את תיקיית הקבצים"
            .AllowMultiSelect = False
            If .Show <> -1 Then
                MsgBox "לא נבחרה תיקייה. הפעולה הופסקה.", vbExclamation
                Exit Sub
            End If
            sourceFolder = .SelectedItems(1)
            If Right(sourceFolder, 1) <> "\" Then sourceFolder = sourceFolder & "\"
        End With
    
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ws = ThisWorkbook.Sheets(1)
        Set folder = fso.GetFolder(sourceFolder)
        lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
        For i = 2 To lastRow
            fileBaseName = Trim(ws.Cells(i, 1).Value)
            category = Trim(ws.Cells(i, 2).Value)
            fileFound = False
    
            If fileBaseName <> "" And category <> "" Then
                ' חיפוש קובץ עם שם מתאים (ללא סיומת)
                For Each fileItem In folder.Files
                    If LCase(fso.GetBaseName(fileItem.Name)) = LCase(fileBaseName) Then
                        fileName = fileItem.Name
                        fileFound = True
                        Exit For
                    End If
                Next fileItem
    
                If fileFound Then
                    targetFolder = sourceFolder & category & "\"
                    If Not fso.FolderExists(targetFolder) Then
                        fso.CreateFolder targetFolder
                    End If
                    fso.MoveFile sourceFolder & fileName, targetFolder & fileName
                    Debug.Print "? הועבר: " & fileName & " ? " & category
                Else
                    Debug.Print "? לא נמצא קובץ עבור: " & fileBaseName
                End If
            End If
        Next i
    
        MsgBox "ההעברה בוצעה בהצלחה", vbInformation
    End Sub
    
    
    ס תגובה 1 תגובה אחרונה
    0
    • ש שלמה11

      @סתם-אחד-2
      הנה קוד VBA באדיבות GPT

      Sub סידור_קבצים()
          Dim ws As Worksheet
          Dim lastRow As Long
          Dim i As Long
          Dim sourceFolder As String
          Dim fileBaseName As String
          Dim category As String
          Dim fileFound As Boolean
          Dim fileName As String
          Dim targetFolder As String
          Dim fso As Object
          Dim folderPicker As FileDialog
          Dim fileItem As Object
          Dim folder As Object
      
          ' בחירת תיקיית המקור
          Set folderPicker = Application.FileDialog(msoFileDialogFolderPicker)
          With folderPicker
              .Title = "בחר את תיקיית הקבצים"
              .AllowMultiSelect = False
              If .Show <> -1 Then
                  MsgBox "לא נבחרה תיקייה. הפעולה הופסקה.", vbExclamation
                  Exit Sub
              End If
              sourceFolder = .SelectedItems(1)
              If Right(sourceFolder, 1) <> "\" Then sourceFolder = sourceFolder & "\"
          End With
      
          Set fso = CreateObject("Scripting.FileSystemObject")
          Set ws = ThisWorkbook.Sheets(1)
          Set folder = fso.GetFolder(sourceFolder)
          lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
      
          For i = 2 To lastRow
              fileBaseName = Trim(ws.Cells(i, 1).Value)
              category = Trim(ws.Cells(i, 2).Value)
              fileFound = False
      
              If fileBaseName <> "" And category <> "" Then
                  ' חיפוש קובץ עם שם מתאים (ללא סיומת)
                  For Each fileItem In folder.Files
                      If LCase(fso.GetBaseName(fileItem.Name)) = LCase(fileBaseName) Then
                          fileName = fileItem.Name
                          fileFound = True
                          Exit For
                      End If
                  Next fileItem
      
                  If fileFound Then
                      targetFolder = sourceFolder & category & "\"
                      If Not fso.FolderExists(targetFolder) Then
                          fso.CreateFolder targetFolder
                      End If
                      fso.MoveFile sourceFolder & fileName, targetFolder & fileName
                      Debug.Print "? הועבר: " & fileName & " ? " & category
                  Else
                      Debug.Print "? לא נמצא קובץ עבור: " & fileBaseName
                  End If
              End If
          Next i
      
          MsgBox "ההעברה בוצעה בהצלחה", vbInformation
      End Sub
      
      
      ס מנותק
      ס מנותק
      סתם אחד 2
      כתב נערך לאחרונה על ידי
      #3

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

      א ש 2 תגובות תגובה אחרונה
      0
      • ס סתם אחד 2

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

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

        @סתם-אחד-2 קצת לא הבנתי את הבקשה, באיזו תיקיה הקבצים נמצאים כעת? כולם יחד? להעביר אותם לתיקיות אחרות שמה השם שלהם? שמות הקטגוריות?

        ס תגובה 1 תגובה אחרונה
        0
        • א אופיר123

          @סתם-אחד-2 קצת לא הבנתי את הבקשה, באיזו תיקיה הקבצים נמצאים כעת? כולם יחד? להעביר אותם לתיקיות אחרות שמה השם שלהם? שמות הקטגוריות?

          ס מנותק
          ס מנותק
          סתם אחד 2
          כתב נערך לאחרונה על ידי
          #5

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

          תגובה 1 תגובה אחרונה
          0
          • ס סתם אחד 2

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

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

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

            ס תגובה 1 תגובה אחרונה
            0
            • ש שלמה11

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

              ס מנותק
              ס מנותק
              סתם אחד 2
              כתב נערך לאחרונה על ידי
              #7

              @שלמה11
              כלומר הוא מעביר את הקבצים רק במקרה שהתיקיות קיימות?
              ניתן להוסיף לסקריפט אפשרות שבמקרה שאין תיקייה קיימת הוא יצור תיקייה?

              תודה רבה!

              ע תגובה 1 תגובה אחרונה
              0
              • ס סתם אחד 2

                @שלמה11
                כלומר הוא מעביר את הקבצים רק במקרה שהתיקיות קיימות?
                ניתן להוסיף לסקריפט אפשרות שבמקרה שאין תיקייה קיימת הוא יצור תיקייה?

                תודה רבה!

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

                @סתם-אחד-2 כתב בבקשה | מיון קבצים מרובים לתיקיות לפי קובץ אקסל:

                @שלמה11
                כלומר הוא מעביר את הקבצים רק במקרה שהתיקיות קיימות?
                ניתן להוסיף לסקריפט אפשרות שבמקרה שאין תיקייה קיימת הוא יצור תיקייה?

                תודה רבה!

                לא, מעיון במאקרו הוא מוסיף את התיקיה במקרה שהיא לא קיימת (בשורה 52), רק השמות של הקבצים צריכים להיות מדוייקים.

                ס תגובה 1 תגובה אחרונה
                0
                • ע ע"ה דכו"ע

                  @סתם-אחד-2 כתב בבקשה | מיון קבצים מרובים לתיקיות לפי קובץ אקסל:

                  @שלמה11
                  כלומר הוא מעביר את הקבצים רק במקרה שהתיקיות קיימות?
                  ניתן להוסיף לסקריפט אפשרות שבמקרה שאין תיקייה קיימת הוא יצור תיקייה?

                  תודה רבה!

                  לא, מעיון במאקרו הוא מוסיף את התיקיה במקרה שהיא לא קיימת (בשורה 52), רק השמות של הקבצים צריכים להיות מדוייקים.

                  ס מנותק
                  ס מנותק
                  סתם אחד 2
                  כתב נערך לאחרונה על ידי
                  #9

                  @ע-amp-amp-amp-quot-ה-דכו-amp-amp-amp-quot-ע

                  מה זאת אומרת ששמות הקבצים צריכים להיות מדוייקים?

                  ע 2 תגובות תגובה אחרונה
                  0
                  • ס סתם אחד 2

                    @ע-amp-amp-amp-quot-ה-דכו-amp-amp-amp-quot-ע

                    מה זאת אומרת ששמות הקבצים צריכים להיות מדוייקים?

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

                    @סתם-אחד-2 כתב בבקשה | מיון קבצים מרובים לתיקיות לפי קובץ אקסל:

                    @ע-amp-amp-amp-quot-ה-דכו-amp-amp-amp-quot-ע

                    מה זאת אומרת ששמות הקבצים צריכים להיות מדוייקים?

                    השמות של הקבצים להעברה שבטבלה באקסל.

                    תגובה 1 תגובה אחרונה
                    0
                    • ס סתם אחד 2

                      @ע-amp-amp-amp-quot-ה-דכו-amp-amp-amp-quot-ע

                      מה זאת אומרת ששמות הקבצים צריכים להיות מדוייקים?

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

                      @סתם-אחד-2
                      שים לב שהשמות של הקבצים שבאקסל כתובים בלי הסיומת, וכן אולי כדאי להוסיף TRIM גם בשמות הקבצים של התיקייה, כלומר אתה יכול לשנות את שורה 42 במאקרו מ

                                      If LCase(fso.GetBaseName(fileItem.Name)) = LCase(fileBaseName) Then
                      

                      ל

                                      If Trim(LCase(fso.GetBaseName(fileItem.Name))) = LCase(fileBaseName) Then
                      
                      תגובה 1 תגובה אחרונה
                      0

                      • התחברות

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

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