2 Stimmen

Excel VBA - Kopieren ganzer Spalten aus geschlossener Arbeitsmappe

Ich habe eine Excel-Arbeitsmappe mit vielen Informationen, die ich herausziehen und in eine neue Arbeitsmappe einfügen möchte, in der dieses Makro enthalten ist.

Was ich wirklich nach ist eine allgemeine Funktion, die ein paar Argumente wie Quelldatei und Spalte nimmt. Ich brauche nur Spalten, aber die gesamte Spalte aus der Quelldatei.

Ich stelle mir die Funktion folgendermaßen vor (Pseudocode)

Public Function getColumnFromWorkbook(ByVal strSourceFile, ByVal sourceWorksheet)
    Application.ScreenUpdating = False
    Set wb = Workbooks.Open(strSourceFile, True, True)

    With ThisWorkbook.Worksheets(destSheet)
        .column(1) = wb.Worksheets(sourceWorksheet).Columns(sourceColumn)
    End With        
End Function

Die obige Funktion funktioniert wahrscheinlich nicht. Aber es könnte zeigen, was ich im Wesentlichen nach :)

3voto

Joel Goodwin Punkte 4866

Dies scheint bei mir zu funktionieren - beachten Sie, dass ich die Parameterliste erweitert habe. Keine Fehlerprüfung.

Public Function getColumnFromWorkbook(ByVal strSourceFile As String, ByVal sourceWorksheetName As String, ByVal sourceColumn As Long, ByVal destSheet As Worksheet)

    Application.ScreenUpdating = False

    Dim wb As Workbook
    Set wb = Workbooks.Open(strSourceFile, True, True)
    wb.Worksheets(sourceWorksheetName).Columns(sourceColumn).Copy (destSheet.Columns(1))
    wb.Close

    Application.ScreenUpdating = True

End Function

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X