2016-04-29 17 views
0

Ich muss Werte in Spalten vergleichen E & F einer Arbeitsmappe, die über 400 Blätter hat, wenn E & F gleich sind, ersetzen Spalte F durch neuen Text. Ich bin ziemlich neu zu Excel und ich habe viele verschiedene Methoden von Google ausprobiert.VBA zum Vergleichen mehrerer Spaltenwerte dann ersetzen in mehreren Arbeitsblättern

die unten (von google) funktioniert ok für 1 Blatt, aber ich brauche es, um alle Blätter zu tun.

Sub findcomparereplace() 
Dim wsh As Worksheet, i As Long, lngEndRowInv As Long 
Set wsh = ActiveSheet 

i = 2 
lngEndRowInv = wsh.Range("E" & wsh.Rows.Count).End(xlUp).Row 
While i <= lngEndRowInv 
If Cells(i, "E") Like "*myvalue1*" And Cells(i, "F") Like "*myvalue1*" 
Then 
Cells(i, "F").Value = "myvalue2" 
End If 
i = i + 1 
Wend 
End Sub 

Antwort

0

Sie können Blätter iterieren wie so:

Sub findcomparereplace() 
    Dim wsh As Worksheet, i As Long, lngEndRowInv As Long 

    For Each wsh In ActiveWorkbook.Worksheets 
     i = 2 
     lngEndRowInv = wsh.Range("E" & wsh.Rows.Count).End(xlUp).Row 
     While i <= lngEndRowInv 
      If wsh.Cells(i, "E") Like "*myvalue1*" And wsh.Cells(i, "F") Like "*myvalue1*" Then 
       wsh.Cells(i, "F").Value = "myvalue2" 
      End If 
      i = i + 1 
     Wend 
    Next 
End Sub 
+0

Dank Buddy.That fantastisch gearbeitet. – Chaz

+0

Super Kumpel. Bitte als Antwort markieren. Es ist mir auch aufgefallen, dass du vielleicht sehen willst, wie es weitergeht, in diesem Fall füge eine neue Zeile 'wsh.Activate' nach der' For Each ...' Zeile hinzu – rayzinnz

+0

Danke rayzinnz. Ich werde das später ausprobieren. Danke nochmal für deine Hilfe. ;-) – Chaz

Verwandte Themen