דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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 כותבים 87 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ס מנותק
    ס מנותק
    סתם אחד 2
    כתב נערך לאחרונה על ידי
    #1

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

    ש תגובה 1 תגובה אחרונה
    0
    • ש מנותק
      ש מנותק
      שלמה11
      השיב לסתם אחד 2 נערך לאחרונה על ידי
      #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
      • ס מנותק
        ס מנותק
        סתם אחד 2
        השיב לשלמה11 נערך לאחרונה על ידי
        #3

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

        א ש 2 תגובות תגובה אחרונה
        0
        • א מנותק
          א מנותק
          אופיר123
          השיב לסתם אחד 2 נערך לאחרונה על ידי
          #4

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

          ס תגובה 1 תגובה אחרונה
          0
          • ס מנותק
            ס מנותק
            סתם אחד 2
            השיב לאופיר123 נערך לאחרונה על ידי
            #5

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

            תגובה 1 תגובה אחרונה
            0
            • ש מנותק
              ש מנותק
              שלמה11
              השיב לסתם אחד 2 נערך לאחרונה על ידי
              #6

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

              ס תגובה 1 תגובה אחרונה
              0
              • ס מנותק
                ס מנותק
                סתם אחד 2
                השיב לשלמה11 נערך לאחרונה על ידי
                #7

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

                תודה רבה!

                ע תגובה 1 תגובה אחרונה
                0
                • ע מחובר
                  ע מחובר
                  ע&amp;amp;amp;quot;ה דכו&amp;amp;amp;quot;ע
                  השיב לסתם אחד 2 נערך לאחרונה על ידי ע&amp;amp;amp;quot;ה דכו&amp;amp;amp;quot;ע
                  #8

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

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

                  תודה רבה!

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

                  ס תגובה 1 תגובה אחרונה
                  0
                  • ס מנותק
                    ס מנותק
                    סתם אחד 2
                    השיב לע&amp;amp;amp;quot;ה דכו&amp;amp;amp;quot;ע נערך לאחרונה על ידי
                    #9

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

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

                    ע 2 תגובות תגובה אחרונה
                    0
                    • ע מחובר
                      ע מחובר
                      ע&amp;amp;amp;quot;ה דכו&amp;amp;amp;quot;ע
                      השיב לסתם אחד 2 נערך לאחרונה על ידי ע&amp;amp;amp;quot;ה דכו&amp;amp;amp;quot;ע
                      #10

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

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

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

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

                      תגובה 1 תגובה אחרונה
                      0
                      • ע מחובר
                        ע מחובר
                        ע&amp;amp;amp;quot;ה דכו&amp;amp;amp;quot;ע
                        השיב לסתם אחד 2 נערך לאחרונה על ידי
                        #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
                        • חוקי הפורום
                        • לא נפתר
                        • משתמשים
                        • חיפוש גוגל בפורום
                        • צור קשר