Hallo Agamenmnon,
so wie ich deine Aufgabenstellung interpretiere, sollten einige For-Schleifen dein Problem lösen.
Wenn du weißt wieviele Spalten und Reihen in deiner Quell-Tabelle vorhanden sind, kannst du diese Werte nehmen und deine For-Schleifen bis dahin durchzählen.
dim MAXSpalten As Integer
dim MAXZeilen As Integer
dim zaehlerZeile as integer
dim zaehlerSpalte as integer
dim textZ1 as string 'Stringfolge, nach der in Zeile 1 gesucht wird z.B. "BB"
dim textZ2 as string 'Stringfolge, nach der in Zeile 2 gesucht wird z.B. "Saldo"
dim textZ3 as string 'Stringfolge, nach der in Zeile 3 gesucht wird z.B. "Monat"
dim text_SP2 as string 'Stringfolge, nach der in Spalte2 gesuch wird z.B. "Projektnummer"
dim text_SP3 as string 'Stringfolge, nach der in Spalte3 gesuch wird z.B. "Kostenart"
'Spalten von der letzten beschriebenen Spalte in der ersten Reihe nach links durchzählen
MAXSpalten = ActiveWorkbook.Sheets("Tabelle1").Cells(1,Columns.Count).End(xlToLeft).column
'Reihen von der letzten beschriebenen Reihe in der ersten Spalte nach oben durchzählen
MAXZeilen = Activeworkbook.Sheets("Tabelle1").Cells(Rows.Count,1).End(xlUp).Row
'Schleife zum Durchsuchen der ersten Reihe
For zaehlerSpalte = 1 to MAXSpalten
If Sheets("Tabelle1").Cells(1,zaehlerSpalte).value = textZ1 AND _
Sheets("Tabelle1").Cells(2,zaehlerSpalte).value = textZ2 AND _
Sheets("Tabelle1").Cells(3,zaehlerSpalte).value = textZ3
then
For zaehlerZeile = 1 to MAXZeilen
If Sheets("Tabelle1").Cells(zaehlerZeile,2).value = textSP2 AND _
Sheets("Tabelle1").Cells(zaehlerZeile,3).value = textSP3 then
Sheets("Tabelle2").Cells(y,x).value = Sheets("Tabelle1").Cells(zaehlerZeile,zaehlerSpalte).value
Exit For
Else
MSGBOX ("Projektnummer und Kostenart-Kombination nicht gefunden")
End If
Next zaehlerZeile
Exit For
Else
MSGBOX ("XX, Saldo und Monats-Kombination nicht gefunden")
End If
Next zaehlerSpalte
Ich hoffe, dass ist das was du gesucht hast.
Habs allerdings nicht getestet.
Gruß
Andreas
|