seit Jahren stöbere ich in Eurem Forum um mir Inspirationen zur Ausgestaltung verschiedener Makros zu holen, bisher immer mit Erfolg. Nun bin ich jedoch an einem Punkt, wo ich gezielte Hilfe benötige bei einem bestimmten Makro. Ziel ist im Tabellenblatt "Tabelle Schwärzen" die Schwärzung bestimmter im Tabellenblatt "Liste Schwärzen" aufgeführten Inhalte. Dies habe ich über folgendes Makro umgesetzt:
Private Sub CommandButton1_Click()
Dim i As Long
Dim sheetNameKreuztabelle As String
Dim sheetNameErsetzTabelle As String
Dim suchWertSpalte, ersatzWertSpalte As Integer
Dim startZeileKreuztabelle, endZeileKreuztabelle As Long
'initialisierung - hier variablen anpassen
sheetNameKreuztabelle = "Liste Schwärzen"
sheetNameErsetzTabelle = "Tabelle Schwärzen"
startZeileKreuztabelle = 1
endZeileKreuztabelle = 1000
suchWertSpalte = 1
ersatzWertSpalte = 2
'ende der initialisierung
For i = startZeileKreuztabelle To endZeileKreuztabelle
Dim suchwert, ersatzwert As String
suchwert = Sheets(sheetNameKreuztabelle).Cells(i, suchWertSpalte).Value
ersatzwert = Sheets(sheetNameKreuztabelle).Cells(i, ersatzWertSpalte).Value
If (suchwert "" And ersatzwert "") Then
Sheets(sheetNameErsetzTabelle).Cells.Replace What:=suchwert, Replacement:=ersatzwert,
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:= _
False
End If
Next i
End Sub
Dies funktioniert auch soweit nach meinen Vorstellungen. Nun möchte ich jedoch eine weitere Bedingung hinzufügen, die besagt, dass im Tabellenblatt "Tabelle Schwärzen" nur in den Zeilen die Ersetzung geschehen soll, in denen in der ersten Spalte der Wert "x" enthalten ist. Ich würde mich sehr freuen, wenn mir dazu jemand einen Denkanstoß oder Ansatz geben könnte.
VG
Raffa