27.08.2018, 12:26
Hallo zusammen
Ich habe folgenden beigefügten Code. Da sich in beiden Tabellen jeweils die Spalte ändert, funktioniert der SVerweis nicht so gut (bei mir). Daher hab ich nen Code mit zwei Schlaufen welche mir die sich ändernde Spalte wiederfindet und dann wie bei einem SVerweis den Inhalt abgleicht/einfügt.
Was passiert: Über eine Suchfunktion wird die entsprechende Stelle zum einfügen einer neuen Spalte gefunden. Sowohl in Tabelle 1 wie auch in Tabelle 2 wird die neue Spalte in entsprechender Stelle eingefügt. In Tabelle2 werden in der neuen Spalte auch noch die nach Funktion entsprechenden Werte eingefügt.
Was ich nun will:
Nun will ich, folgendes (ähnlich zu SVerweis):
Wie Ihr vielleicht sieht, habe ich mühe, die Schlaufe in der Schlaufe mit den sich ändernden Spaltenpositionen richtig zu formulieren...
Schon mal jetzt besten Dank fürs Weiterhelfen.
Ich habe folgenden beigefügten Code. Da sich in beiden Tabellen jeweils die Spalte ändert, funktioniert der SVerweis nicht so gut (bei mir). Daher hab ich nen Code mit zwei Schlaufen welche mir die sich ändernde Spalte wiederfindet und dann wie bei einem SVerweis den Inhalt abgleicht/einfügt.
Was passiert: Über eine Suchfunktion wird die entsprechende Stelle zum einfügen einer neuen Spalte gefunden. Sowohl in Tabelle 1 wie auch in Tabelle 2 wird die neue Spalte in entsprechender Stelle eingefügt. In Tabelle2 werden in der neuen Spalte auch noch die nach Funktion entsprechenden Werte eingefügt.
Was ich nun will:
Nun will ich, folgendes (ähnlich zu SVerweis):
- Start in Tablle1, der neu eingefügten Spalte, 2. Zeile
- Feststellung der Funktion in Tabelle1, der gleichen Zeile, Spalte D
- Schleife in der Tabelle 2, Spalte A, Abgleich/Suche der Funktion
- If Funktion aus Tabelle1=Funktion aus Tabelle2. Einfügen des Wertes aus Tabelle2, der neu eingefügten Spalte = In die Tabelle1, der neu eingefügten Spalte, 2. Zeile
- Schleife, in Tablle1, der neu eingefügten Spalte, 3. Zeile 'Sprich: Fehlender Wert der nächsten Zeile einfügen.
Code:
'Eine andere Möglichkeit wäre auch folgende Funktion umzuschreiben: Application.WorksheetFunction.VLOOKUP(lookup_value, table_array, column_index, range_lookup)
Sub verweis()
Set zelle_kostenstelle1 = Worksheets("Tabelle1").Range("1:1").Find(kostenstelle) 'Neu eingefügte Spalte wird in der Tabelle 1 gesucht.
Set zelle_kostenstelle2 = Worksheets("Tabelle2").Range("1:1").Find(kostenstelle) 'Neu eingefügte Spalte wird in der Tabelle 2 gesucht.
Dim D, i As Integer
For i = 1 To 999 'Tabelle1, Zeile 1 bis 999 durchsuchen/schlaufe
Dim A, j As Integer
For j = 1 To 999
If Worksheets("Tabelle1").Cells(zelle_kostenstelle1.Column + 1, i) = Worksheets("Tabelle1").Cells(zelle_kostenstelle2.Column, j)
Else: j = j + 1
End If
End Sub
Wie Ihr vielleicht sieht, habe ich mühe, die Schlaufe in der Schlaufe mit den sich ändernden Spaltenpositionen richtig zu formulieren...

Schon mal jetzt besten Dank fürs Weiterhelfen.