Hallo ch79
Bitte mal überprüfen, dass in der Zelle B41 z.B. "KW 44" steht und in der zweiten Spalte
der Zieltabelle auch ein "KW 44" steht. Bitte auch nur EIN Leerzeichen dazwischen und
auch keines davor oder danach. Die werden sehr gerne übersehen.
Nun nochmals zur Erklärung. Vielleicht wird die Funktionsweise klarer und du kannst
das Makro später leichter selber anpassen.
Gruß
Der TestGast
ich hole mir den Text aus der Zelle B41
'Kalenderwoche aus Excel1 auslesen (hier habe ich das .Value mal gelöscht)
strKW = wsQuelle.Range("B41")
Diesen Text suche in in der Zieltabelle in Spalte 2
'KWxx in Zieldatei suchen
varZeile = Application.Match(strKW, wsZiel.Columns(2), 0)
In der Variable varZeile steht nun die Zeile, in der dieser Text gefunden sein sollte.
Wenn du das Makro schrittweise ablaufen lässt, was steht dann hier in der Variablen "varZeile"?
Wenn hier nun keine reine Zeilenzahl steht, findet er den Text aus der Zelle B41 nicht in der
zweiten Spalte der Zieltabelle.
If VarType(varZeile) <> vbError Then
lngZielZeile = Val(varZeile)
Else
MsgBox "Kalenderwoche " & strKW & " nicht gefunden", vbCritical + vbOKOnly, "KW nicht gefunden"
GoTo Aufräumen
End If
'nächste freie Zelle suchen (in Spalte 2)
Do While wsZiel.Cells(lngZielZeile, 2) <> ""
lngZielZeile = lngZielZeile + 1
Loop
'Daten kopieren
wsQuelle.Range("L66:U66").Copy Destination:=wsZiel.Cells(lngZielZeile, 2)
|