2016-10-30 5 views
0

Ich versuche, alle Spalten aus einem Arbeitsmappe Blatt zu kopieren und in einer anderen Arbeitsmappe Blatt einfügen, aber alle Spalten einfügen in Zeile A8 StartVBA Einfügen Spalte in Zeile beginnt

Ich habe den Code bekommt zum Kopieren und Einfügen arbeitet Von einem Arbeitsblatt zum anderen kann ich den hinzuzufügenden Code nicht herausfinden, um die Spalten beginnend mit Zeile A8 einzufügen. Diese

ist das, was ich bisher:

Set Data = Workbooks.Open(ThisWorkbook.Path & "\Technical Audit.xlsm", UpdateLinks:=xlUpdateLinksAlways) 
Worksheets("Raw Data").Select 

Set SourceImageColumn = Workbooks("Audit Dashboard.xlsm").Worksheets("Raw Image Data").Columns("A:D") 
Set TargetImageColumn = Workbooks("Technical Audit.xlsm").Worksheets("Images").Columns("A:D") 

SourceImageColumn.Copy Destination:=TargetImageColumn 

Data.Save 

Vielen Dank im Voraus für jede Hilfe

+0

http://stackoverflow.com/questions/ 30391994/how-to-the-whole-column-to-another-column-start-from-a-act-row oder http://stackoverflow.com/questions/29359107/how-to-specify-start- Zeile-für-eine-Kopie-Spalte-vba –

+0

Es ist nur, weil ich Daten von einer Arbeitsmappe zu einem kopieren Andere, Der obige Code ist der einzige, den ich habe funktioniert und ich weiß nicht, wie die obigen Beispiele zu verwenden, während immer noch das Kopieren und Einfügen zwischen Arbeitsmappen. – CodeOut

Antwort

1

** der Code aktualisiert ** Diese Methode funktioniert, wenn Sie beide Arbeitsmappen geöffnet haben. Ich konnte nicht herausfinden, ob du das hast oder nicht.

Sub macro3() 
Dim iRow  As Long 
Dim lastRow  As Long 
Dim nextRow  As Long 
Dim wksSource As Worksheet 
Dim wksTarget As Worksheet 

Set wksSource = Workbooks("Audit Dashboard.xlsm").Worksheets("Raw Image Data") 
Set wksTarget = Workbooks("Technical Audit.xlsm").Worksheets("Images") 

lastRow = wksSource.Range("A" & wksSource.Rows.Count).End(xlUp).Row 

nextRow = 8 

With wksSource 
    For iRow = 1 To lastRow 
     .Range(.Cells(iRow, 1), .Cells(iRow, 4)).Copy wksTarget.Cells(nextRow, 1) 
     nextRow = nextRow + 1 
    Next iRow 
End With 
End Sub 
+0

Hallo Bud, danke für deine Antwort. Es ist das Ziel Arbeitsblatt (Bilder) Ich muss einfügen, beginnend bei A8. Alle Spalten in (Raw Image Data) können aus der ersten Zeile kopiert werden. Ich habe versucht, den Code um zu tauschen, aber es hat nicht funktioniert, irgendwelche Gedanken? – CodeOut

+0

' Dim sourceImageColumn As Range, targetImageColumn As Range Set sourceImageColumn = Workbooks ("Audit Dashboard.xlsm") Arbeitsblätter ("Raw Image Data") Spalten ("A: D").. Set targetImageColumn = Workbooks (“ Technical Audit.xlsm "). Arbeitsblätter (" Bilder "). Bereich (" A8: D "& Blätter (" Bilder "). Zellen (Blätter (" Bilder "). Rows.Count," a "). Ende (xlUp) .Row) sourceImageColumn.Copy Ziel: = targetImageColumn' – CodeOut

+0

Lassen Sie mich einen Blick werfen :-) – Niclas

1
Set wsCore = Workbooks("Audit Dashboard.xlsm").Worksheets("Raw Image Data") 
Set wsData = Workbooks("Technical Audit.xlsm").Worksheets("Images") 

With Intersect(wsCore.Columns("A:D"), wsCore.UsedRange) 
    .Columns("A").Copy Destination:=wsData.Range("A8") 
    .Columns("B").Copy Destination:=wsData.Range("B8") 
    .Columns("C").Copy Destination:=wsData.Range("C8") 
    .Columns("D").Copy Destination:=wsData.Range("D8") 
End With 

Eine modifizierte Antwort von https://stackoverflow.com/a/29359212/1544886

von wsCore Spalten kopiert A: D, und fügen Sie ihn in wsData bei A8 Start: D8

+1

Prost Knospe das funktioniert auch – CodeOut

Verwandte Themen