Sub Test()
Dim letzteSpalteO As Long
Dim letzteZeileO As Long
Dim letzteSpalteK As Long
Dim letzteZeileK As Long
Dim GefundenSpalte As Range
Dim GefundenZeile1 As Range
Dim GefundenZeile2 As Range
Dim GefundenZeile3 As Range
Dim GefundenZeile4 As Range
Dim GefundenZeile5 As Range
Dim GefundenZeile6 As Range
Dim GefundenZeile7 As Range
Dim GefundenZeile8 As Range
Dim A As Range
Dim B As Range
Dim C As Range
Dim D As Range
Dim E As Range
Dim F As Range
Dim G As Range
Dim H As Range
Dim Vergleichszeile As Long
Dim Vergleichsspalte As String
Dim BeginnVergleichsspalte As String
Dim BeginnVergleichszeile As String
Dim Spaltenauswahl1 As String
Dim Spaltenauswahl2 As String
Dim Spaltenauswahl3 As String
Dim Spaltenauswahl4 As String
Dim Spaltenauswahl5 As String
Dim Spaltenauswahl6 As String
Dim Spaltenauswahl7 As String
Dim Spaltenauswahl8 As String
Dim AktuelleTabelle
Dim Zeilennummer As Integer
Dim Spaltennummer As Integer
Dim SuchbereichTeile As Range
Dim SuchbereichAktuell As Range
Dim SuchbereichOriginal As Range
Dim SuchbereichTeileK As Range
AktuelleTabelle = InputBox("Wie heißt die Tabelle mit den aktuellen Daten?")
Vergleichsspalte = InputBox("Welche Spalte beinhaltet die Teilebezeichnungen?")
BeginnVergleichsspalte = InputBox("In Welcher Zeile beginnen die Teilebezeichnungen?")
Vergleichszeile = InputBox("In Welcher Zeile stehen die Tabellenreiter?")
BeginnVergleichszeile = InputBox("In welcher Spalte beginnen die Reiterbeschriftungen? (Bitte als Buchstabe)")
Spaltenauswahl1 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
If Spaltenauswahl1 <> "" Then
Spaltenauswahl2 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
Else: End If
If Spaltenauswahl2 <> "" Then
Spaltenauswahl3 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
Else: End If
If Spaltenauswahl3 <> "" Then
Spaltenauswahl4 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
Else: End If
If Spaltenauswahl4 <> "" Then
Spaltenauswahl5 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
Else: End If
If Spaltenauswahl5 <> "" Then
Spaltenauswahl6 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
Else: End If
If Spaltenauswahl6 <> "" Then
Spaltenauswahl7 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
Else: End If
If Spaltenauswahl7 <> "" Then
Spaltenauswahl8 = InputBox("Welche Spalten sollen aktualisiert werden? (Bitte als Buchstabe)")
Else: End If
If Spaltenauswahl8 <> "" Then
MsgBox ("Keine weiteren Werte mehr zufügbar!")
End If
Spaltennummer = Range(Vergleichsspalte & 1).Column
With Sheets("Neues Blatt")
Set SuchbereichTeile = Range(Vergleichsspalte & BeginnVergleichsspalte, Range(Vergleichsspalte & BeginnVergleichsspalte).End(xlDown))
Set SuchbereichOriginal = Range(BeginnVergleichszeile & Vergleichszeile, Range(BeginnVergleichszeile & Vergleichszeile).End(xlToRight))
End With
With Sheets(AktuelleTabelle)
Set SuchbereichAktuell = Range(BeginnVergleichszeile & Vergleichszeile, Range(BeginnVergleichszeile & Vergleichszeile).End(xlToRight))
Set SuchbereichTeileK = Range(Vergleichsspalte & BeginnVergleichsspalte, Range(Vergleichsspalte & BeginnVergleichsspalte).End(xlDown))
End With
With Sheets("Neues Blatt")
letzteZeileO = Range("A65536").End(xlUp).Row
letzteSpalteO = UsedRange.Columns.Count
End With
With Sheets(AktuelleTabelle)
letzteZeileK = Range("A65536").End(xlUp).Row
letzteSpalteK = UsedRange.Columns.Count
End With
For I = BeginnVergleichsspalte To letzteZeileO
If Sheets(AktuelleTabelle).Cells(I, Spaltennummer) <> "" Then
Set GefundenSpalte = SuchbereichTeileK.Find(What:=Sheets("Neues Blatt").Cells(I, Spaltennummer).Value, lookat:=xlWhole)
Set GefundenZeile1 = SuchbereichAktuell.Find(What:=Spaltenauswahl1, lookat:=xlWhole)
MsgBox "Gefundenspalte" & GefundenSpalte.Column & GefundenSpalte.Row & "Gefundenzeile1" & GefundenZeile1.Column & GefundenZeile1.Row
Set A = SuchbereichOriginal.Find(What:=Spaltenauswahl1, lookat:=xlWhole)
MsgBox A.Column & A.Row
Sheets(AktuelleTabelle).Range(Cells(GefundenSpalte.Row, GefundenZeile1.Column)).Copy
Sheets("Neues Blatt").Range(Cells(GefundenSpalte.Row, A.Column)).Value.Paste
If Spaltenauswahl2 <> "" Then
Set GefundenZeile2 = SuchbereichAktuell.Find(What:=Spaltenauswahl2, lookat:=xlWhole)
With Sheets(AktuelleTabelle)
.Cells(GefundenSpalte.Row & ":" & GefundenZeile2.Column).Copy
End With
With Sheets("Neues Blatt")
Set B = SuchbereichOriginal.Find(What:=Spaltenauswahl2, lookat:=xlWhole)
.Cells(GefundenSpalte.Row & ":" & B.Column).Paste
End With
Else: End If
If Spaltenauswahl3 <> "" Then
Set GefundenZeile3 = SuchbereichAktuell.Find(What:=Spaltenauswahl3, lookat:=xlWhole)
With Sheets(AktuelleTabelle)
.Cells(GefundenSpalte.Row & ":" & GefundenZeile3.Column).Copy
End With
With Sheets("Neues Blatt")
Set C = SuchbereichOriginal.Find(What:=Spaltenauswahl3, lookat:=xlWhole)
.Cells(GefundenSpalte.Row & ":" & C.Column).Paste
End With
Else: End If
If Spaltenauswahl4 <> "" Then
Set GefundenZeile4 = SuchbereichAktuell.Find(What:=Spaltenauswahl4, lookat:=xlWhole)
With Sheets(AktuelleTabelle)
.Cells(GefundenSpalte.Row & ":" & GefundenZeile4.Column).Copy
End With
With Sheets("Neues Blatt")
Set D = SuchbereichOriginal.Find(What:=Spaltenauswahl4, lookat:=xlWhole)
.Cells(GefundenSpalte.Row & ":" & D.Column).Paste
End With
Else: End If
If Spaltenauswahl5 <> "" Then
Set GefundenZeile5 = SuchbereichAktuell.Find(What:=Spaltenauswahl5, lookat:=xlWhole)
With Sheets(AktuelleTabelle)
.Cells(GefundenSpalte.Row & ":" & GefundenZeile5.Column).Copy
End With
With Sheets("Neues Blatt")
Set E = SuchbereichOriginal.Find(What:=Spaltenauswahl5, lookat:=xlWhole)
.Cells(GefundenSpalte.Row & ":" & E.Column).Paste
End With
Else: End If
If Spaltenauswahl6 <> "" Then
Set GefundenZeile6 = SuchbereichAktuell.Find(What:=Spaltenauswahl6, lookat:=xlWhole)
With Sheets(AktuelleTabelle)
.Cells(GefundenSpalte.Row & ":" & GefundenZeile6.Column).Copy
End With
With Sheets("Neues Blatt")
Set F = SuchbereichOriginal.Find(What:=Spaltenauswahl6, lookat:=xlWhole)
.Cells(GefundenSpalte.Row & ":" & F.Column).Paste
End With
Else: End If
If Spaltenauswahl7 <> "" Then
Set GefundenZeile7 = SuchbereichAktuell.Find(Spaltenauswahl7, lookat:=xlWhole)
With Sheets(AktuelleTabelle)
.Cells(GefundenSpalte.Row & ":" & GefundenZeile7.Column).Copy
End With
With Sheets("Neues Blatt")
Set G = SuchbereichOriginal.Find(What:=Spaltenauswahl7, lookat:=xlWhole)
.Cells(GefundenSpalte.Row & ":" & G.Column).Paste
End With
Else: End If
If Spaltenauswahl8 <> "" Then
Set GefundenZeile8 = SuchbereichAktuell.Find(What:=Spaltenauswahl8, lookat:=xlWhole)
With Sheets(AktuelleTabelle)
.Cells(GefundenSpalte.Row & ":" & GefundenZeile8.Column).Copy
End With
With Sheets("Neues Blatt")
Set H = SuchbereichOriginal.Find(What:=Spaltenauswahl8, lookat:=xlWhole)
.Cells(GefundenSpalte.Row & ":" & H.Column).Paste
End With
Else: End If
End If
Next I
End Sub