Ich will Texte von Blatt B in Blatt A suchen und ersetzt. Es sollen aber nur Texte in spezieller Spalte von Blatt A ersetzt werden.
An der Stelle der wsWerte Bereichsdefinition kommt immer objektdefinierter Fehler, jemand einen Tipp?
Sub Neubenennen()
Dim strSuchText As String 'Suchtext
Dim strErsetzText As String 'Ersetztext
Dim x As Integer 'Laufvariable for-Schleife
Dim wsWerte As Range 'Bereich in welchem Ersetzt wird
Dim wsSuchDaten As Worksheet 'Blatt Suchdaten
Dim lngAnzahlZeilen As Long 'Spaltenlänge von B in Suchdaten
Dim rngZelle As Range
Set rngZelle = Worksheets("TabelleA").Rows(1).Find("Kabeltyp", , , xlWhole)
If Not (rngZelle Is Nothing) Then
' Bereichvariable für Worksheets zuweisen
Set wsWerte = Worksheets("TabelleA").Range(Cells(1, rngZelle.Column), Cells(30000, rngZelle.Column))
' Objektvariablen für Worksheets zuweisen
Set wsSuchDaten = ThisWorkbook.Worksheets("TabelleB")
' Letzte Zeile der Spalte C ermitteln
lngAnzahlZeilen = wsSuchDaten.Range("C" & wsSuchDaten.Rows.Count).End(xlUp).Row
' Schleife von Zeile 2 bis Spaltenlänge
For x = 2 To lngAnzahlZeilen
strSuchText = wsSuchDaten.Cells(x, 1) 'suchtext = Zelle (x, B)
strErsetzText = wsSuchDaten.Cells(x, 6) 'ersetztext = Zelle (x, C)
'Tabellenblatt nach Suchtext durchsuchen und mit Ersetztext ersetzen
wsWerte.Cells.Replace What:=strSuchText, replacement:=strErsetzText, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
'LookAt:=xlPart Teile der Zelle suchen und Teile ersetzen
'LookAt:=xlWhole Gesammten Inhalt der Zelle suchen und ersetzen
Next x
Worksheets("TabelleB").Columns("G:G").Delete
End If
End Sub
|