Hallo zusammen,
ich möchte ein kleines Makro erstellen, das mir den Inhalt von vorgegebenen Zellen (Im Beispiel Variable ersetzedurch) in den Bereich schreibt, den ich zuvor anhand des Zelleninhalts %Person% suche. Mein Programm findet ihn auch und ich schaffe es entweder, eine Zeile einzufügen und das %...% stehen zu lassen oder dieses durch die erste zahl in meinem Array zu ersetzen.
Ich möchte aber, dass genau das Array mit seiner Länge zwischen die Zellen kopiert wird und nichts überschrieben wird. Die Arraylänge habe ich ja mit "angespzellen" schon ausgelesen. Wenn ich versuche, innerhalb der Schleife eine zweite Schleife zu öffnen um nacheinander Zellen einzufügen, dann fehlt ihm beim übersetzen der Anfang der ersten Schleife.
Hier mein Programmcode:
'-------------------------------------------------------------------!!!Deklarieren der Variablen!!!-------------------------------------------------------------------
Dim blatt As Worksheet
Dim gefunden As Range
Dim i As Integer
Dim finde As String
Dim ersetzedurch As Variant
Dim anzgespzellen As String
Dim quellcode As Variant
Dim Zahl As String
Dim kopiere As Byte
Dim Zeilen As String
'-------------------------------------------------------------------!!!Programm!!!-------------------------------------------------------------------
Sub FindePlatzhalterUndErsetze()
'Zuweisen nach was gesucht werden soll
finde = "%Person%"
'Zuweisen durch was der Platzhalter ersetzt werden soll
ersetzedurch = Sheets(3).Range("B2:B7")
'auslesen, wie lang das Array "ersetzedurch" ist, dies in "anzgespzellen" speichern
anzgespzellen = UBound(ersetzedurch) + 1
'Suchvorgang, suchen nach %...% in Arbeitsblatt 2
Set blatt = Worksheets(2)
For i = 1 To 256 'Schleife: suche in allen 256 Spalten
With blatt.Columns(i)
Set gefunden = .Find(What:=finde, LookIn:=xlValues, LookAt:=xlWhole)
If Not gefunden Is Nothing Then gefunden.Cells.Insert Shift:=xlShiftDown
End With
Next i
End Sub
Ich würde mich echt freuen, wenn mir jemand dort einen Tipp geben könnte. Habe mir da schon lange den Kopf dran zerbrochen.
Vielen Dank schonmal
Marcel
|