Ich habe zwei Tabellenblätter,
Tabelle 35 (von hier sollen Bereiche kopiert werden) und eine gleich aufgebaute
Tabelle, Tabelle 16 (in die der Bereich kopiert werden soll.
Das Makro soll in Tabelle 16 die Range("B37, D37, F37,H37, J37,B74, D74, F74,H74,J74,B111, D111, F111, H111,J111,B148, D148, F148, H148,J148,B185, D185, F185,H185,J185,B222, D222, F222,H222,J222") durchsuchen auf Zahlen von 1 bis 30.
Jede Zahl muss einmal vorkommen.
Alternativ kann auch einfach die ganze Zeile 37, 74, 111, 148, 185, 222 durchsucht werden.
Wenn in dem Bereich eine Zahl gefunden wird, soll der dort eingetragene Wert (in jeder Zelle wird einer stehen),
dann soll in Tabelle 35 nach dem Wert gesucht werden. Hier soll in der gleichen Range gesucht werden.
Wenn dann der Wert gefunden wird, soll der Bereich der über der gesuchten Zahl kopiert werden und zwar in der gleichen SPalte und in der Spalte rechts daneben, die Inhalte, die in den Zeilen darüber stehen, von der 35. Zeile darüber bis zu der Zeile direkt darüber.
Wahrscheinlich etwas schwer zu verstehen.
Habe es mal probiert, funktioniert aber nicht:
Sub TageZuordnen3()
Dim rngBereich As Range
Dim rngZelle As Range
Dim lngZeile As Long
'das Makro soll in dem angegebenen Zellenbereich nach Zahlen zwischen 1 und 30 (oder unendlich) suchen
Set rngBereich = Tabelle16.Range("B37, D37, F37,H37, J37,B74, D74, F74,H74,J74,B111, D111, F111, H111,J111,B148, D148, F148, H148,J148,B185, D185, F185,H185,J185,B222, D222, F222,H222,J222")
'wenn er eine Zahl findet soll es vergleichen, ob diese Zahl in einer anderen Tabelle vorkommt
For Each rngZelle In rngBereich
If rngZelle.Value = Tabelle35.Range(rngZelle.Adress).Value Then
'soll der Bereich über dem gefundenen Wert kopiert werden (Tabelle 35)und das, was 35 Zeilen höher beginnt und eine Zeile höher endet
'und die Spalte in der der Wert steht und alles in der Spalte rechts daneben
'Beispiel: der Wert wurde in B37 gefunden, dann soll der Bereich B5 bis C36 kopiert werden
' der Wert steht in D37, dann soll D5 bis E36 kopiert werden
' der Wert steht in J74, dann soll J42 bis K73 kopiert werden
'IngZeile = IngZeilte + 37 (kann eventuell entfallen, da der Bereich oben ganz genau festgelegt wurde ( es sollen ja die Zeilen 37, 74, 111, 148, 222 durchsucht werden
End If
Next rngZelle
End Sub
Hat jemand eine Idee?
Ist natürlich sehr schwer verständlich...
Liebe Grüße
Matthias
|