2016-05-30 6 views
0

Ich möchte Dateien in einen anderen Ordner aus einer Excel-Datei (listfiles.xlsx) verschieben, die Pfade von Dateien in Spalte A enthält. Der Code unten hat nicht für mich funktioniert, können Sie helfen mir bitte?VBA movefile aus einer Liste in Excel Blatt

Sub movefile1() 
Dim fso As FileSystemObject 
Dim i As Long 
Dim worksh As Worksheet 
Dim workboo As Workbook 

Set fso = CreateObject("scripting.filesystemobject") 
Destination = "C:\Users\Desktop\Folder" 

Set workboo = Workbooks.Open("C:\Users\TOSHIBA\Desktop\list_files.xlsx") 
Set worksh = Worksheets("Listing") 

numRows = worksh.Range("A" & Rows.Count).End(xlUp).Row 
workboo.Windows(1).Visible = False 

     For i = 2 To numRows 
     Filepath = worksh.Range("A" & i).Value 
     fso.CopyFile Filepath, Destination 
    Next 

    End Sub 

änderte ich den Code aber die fso.CopyFile Filepath, Destination funktioniert nicht. Sie sagen, die Erlaubnis verweigert

+0

'Dim Excelfile als String' ausgeführt werden ?? Dies kann nicht in Kombination mit der Zeile 'Set excelfile = Workbooks.Open (" C: \ Desktop \ output file \ listfiles.xlsx ")' funktionieren. Verwenden Sie stattdessen "Dim Excelfile As Workbook". Wenn Sie Bibliotheken verwenden, fügen Sie sie bitte in Ihre Beschreibung oder den Code ein: ''Verwendeter Verweis" Microsoft Scripting Runtime "'. Schließlich möchten Sie vielleicht Ihre 'With'-Anweisung so aktualisieren, dass sie die (gerade geöffnete) Excel-Datei enthält:' Mit excelfile.Worksheets ("Sheet1") '. – Ralph

+0

@Ralph danke ich habe das geändert, aber jetzt habe ich ein Problem in der letzten Zeile. Ein Berechtigungsproblem – JeanLo

+0

Dann ist das nicht mehr ein VBA-Programmierproblem, sondern ein Berechtigungsproblem, das Sie mit Ihrem lokalen Systemadministrator lösen müssen. Wir können hier nichts tun, um Ihre Berechtigungen zu ändern. – Ralph

Antwort

0

Platz der Linie numRows = .Range("A" & .Rows.Count).End(xlUp).Row vor der Schleife, sonst wird die Schleife überhaupt nicht

+0

) Ich habe versucht, aber es funktioniert nicht – JeanLo

+0

Erhalten Sie einen Fehler? – gizlmo

+0

ja in der Zeile numRows = .Range ("A" & .Rows.Count) .End (xlUp) .Row und dann wie die Excel-Datei nicht geöffnet, um ihre Informationen zu verwenden, um die Dateien zu verschieben – JeanLo

Verwandte Themen