Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Sucher Ersetzen aus anderer Datei
#1
Hallo,

ich habe folgendes Makro, mit dem ich Werte in einem Tabellenblatt suche und durch Werte aus einer Lliste aus einem anderen Tabellenblatt ersetze.

Funktioniert das auch mit Werten aus einer anderen Datei, die gespeichert ist?
Wenn ja, wie?

Code:
Sub Suchen_Ersetzen2()

   Dim i As Integer
 
   Dim sheetNameRefTabelle As String
   Dim sheetNameAktTabelle As String
 
   Dim suchWertSpalte, ersatzWertSpalte As Integer
 
   Dim startZeileRefTabelle, endZeileRefTabelle As Integer
 
   sheetNameRefTabelle = "Tabelle2"
   sheetNameAktTabelle = "Tabelle1"
   
   suchWertSpalte = 1
   ersatzWertSpalte = 2

   startZeileRefTabelle = 1
   endZeileRefTabelle = 1000
 
 
   For i = startZeileRefTabelle To endZeileRefTabelle
 
       Dim suchwert, ersatzwert As String
     
       suchwert = Sheets(sheetNameRefTabelle).Cells(i, suchWertSpalte).Value
       ersatzwert = Sheets(sheetNameRefTabelle).Cells(i, ersatzWertSpalte).Value
     
       If (suchwert <> "" And ersatzwert <> "") Then
     
           Sheets(sheetNameAktTabelle).Cells.Replace What:=suchwert, Replacement:=ersatzwert, LookAt:=xlWhole, SearchOrder:=xlByRows, _
           MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
     
       End If
     
   Next i

End Sub
LG Herbert
Windows 10
Office 365
Antworten Top
#2
Also die Datei mit der Liste ist geöffnet und die Arbeitsdatei ist aktiv? Mit dieser kleinen Ergänzung müsste es klappen (ungetested):

Code:
Sub Suchen_Ersetzen2()
   Dim i As Integer

   Dim wbkNameRefTabelle As String
   Dim sheetNameRefTabelle As String
   Dim sheetNameAktTabelle As String
 
   Dim suchWertSpalte, ersatzWertSpalte As Integer
 
   Dim startZeileRefTabelle, endZeileRefTabelle As Integer
 
   wbkNameRefTabelle = "RefTabelle.xlsx"
   sheetNameRefTabelle = "Tabelle2"
   sheetNameAktTabelle = "Tabelle1"
   
   suchWertSpalte = 1
   ersatzWertSpalte = 2

   startZeileRefTabelle = 1
   endZeileRefTabelle = 1000
 
 
   For i = startZeileRefTabelle To endZeileRefTabelle
       Dim suchwert, ersatzwert As String
     
       suchwert = Workbooks(wbkNameRefTabelle).Sheets(sheetNameRefTabelle).Cells(i, suchWertSpalte).Value
       ersatzwert = Workbooks(wbkNameRefTabelle).Sheets(sheetNameRefTabelle).Cells(i, ersatzWertSpalte).Value
     
       If (suchwert <> "" And ersatzwert <> "") Then
           Sheets(sheetNameAktTabelle).Cells.Replace What:=suchwert, Replacement:=ersatzwert, LookAt:=xlWhole, SearchOrder:=xlByRows, _
           MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
       End If
    Next i
End Sub
Antworten Top
#3
Hallo Redoute,

danke das funktioniert.

Jetzt muss ich nur noch die Datei mit der Liste vom Makro öffnen und wieder schließen lassen.
Dafür habe ich einen Code.

Danke!
LG Herbert
Windows 10
Office 365
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste