Mein momentanes Makro sieht so aus:
Sub Datenkopieren()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim C As Range, Zellegefunden As Range
Dim strkey1
Dim strkey2
Dim Spaltevon As String
Dim Spaltebis As String
Dim SpalteZiel As String
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
strkey1 = InputBox("Wählen Sie den Schlüssel der Tabelle1 aus!" & vbCrLf & "Bitte Spaltenbuchstaben angeben und mit OK bestätigen!")
strkey2 = InputBox("Wählen Sie die Spalte der Tabelle2, die der Schlüsselspalte entspricht!" & vbCrLf & "Bitte Spaltenbuchstaben angeben und mit OK bestätigen!")
Spaltevon = InputBox("Geben Sie die erste zu kopierende Spalte ein!" & vbCrLf & "Bestätigen Sie mit OK!")
Spaltebis = InputBox("Geben Sie den Buchstaben der letzten zu kopierenden Spalte ein!" & vbCrLf & "Bestätigen Sie mit OK!")
SpalteZiel = InputBox("In welche Spalte soll kopiert werden?" & vbCrLf & "Buchstaben eingeben und mit OK bestätigen!")
For Each C In ws1.Range(strkey1 & "1:" & strkey1 & ws1.Cells(65536, strkey1).End(xlUp).Row).Offset(1, 0)
Set Zellegefunden = ws2.Columns(strkey2 & ":" & strkey2).Cells.Find(what:=C)
If Not Zellegefunden Is Nothing Then
ws2.Range(Spaltevon & Zellegefunden.Row & ":" & Spaltebis & Zellegefunden.Row&).Copy _
Destination:=ws1.Range(SpalteZiel & C.Row)
End If
Next C
End Sub
Bei diesem Makro ist es so, dass alles innerhalb einer Datei abläuft! Makro sucht die bestimmten Werte in Tabelle2 der Datei und kopiert sie in Tabelle1.
Jetzt möchte ich gerne über Inputboxen, dass ich bestimme aus welcher Datei und aus welchem Tabellenblatt der angegebenen Datei ich kopieren möchte! Und „spaltevon“ soll bleiben, aber „Spaltebis“ soll so ersetzt werden, das automatisch ab „spaltevon“ die nächsten 20 Spalten kopiert werden!
Kann mir jemand helfen? Ich weis nicht wie ich das einbauen muss!!!
|