AW: Spalte kopieren und einfügen
08.07.2014 13:33:50
Bon
Hab folgendes zu meinem Problem gefunden:
Sub Übertragen()
Dim colDummy As Collection
Dim colZeilen As New Collection
Dim i As Long
Dim k As Long
Dim strSearch As String
Dim varDummy As Variant
Dim wsZiel As Worksheet
Dim wsQuelle As Worksheet
Dim dtmBeginn As Date
On Error Resume Next
dtmBeginn = Now
Set wsZiel = Worksheets("Tabelle1")
Set wsQuelle = Worksheets("Tabelle2")
With wsZiel 'Zieldatenblatt
For i = 1 To 650
strSearch = CStr(.Cells(4, i))
If strSearch "" Then
Set colDummy = New Collection
colZeilen.Add colDummy, "X-" & strSearch
colZeilen("X-" & strSearch).Add i, "Zielzeile"
End If
Next
End With
With wsQuelle 'Tabelle mit allen Daten
For i = 1 To 650
strSearch = CStr(.Cells(4, i))
If strSearch "" Then
colZeilen("X-" & strSearch).Add i, "Quellzeile"
End If
Next
End With
With wsZiel 'Zieldatenblatt
Application.ScreenUpdating = False
For Each varDummy In colZeilen
i = varDummy("Zielzeile")
k = varDummy("Quellzeile")
'Kopiert von 1. bis 7.Spalte
.Range(.Cells(5, i), .Cells(10, i)).Value = _
wsQuelle.Range( _
wsQuelle.Cells(5, k), wsQuelle.Cells(10, k) _
).Value
Next
Application.ScreenUpdating = True
End With
MsgBox "Dauer : " & Format(Now - dtmBeginn, "nn:ss")
End Sub
Wenn z.B. in B4 der Tabelle1 Januar steht und auch in der Originaldatei in der 4. Zeile Januar steht, dass dann die Spalte E der Originaldatei in Tabellenblatt 1 Spalte A, die Spalte K in Tabellenblatt 2 Spalte A und die Spalte Q in Tabellenblatt 3 in Spalte A kopiert wird.
Irgendwelche Ideen?