2016-04-29 72 views
0

如果E & F相等,我需要比較列E & F中的值,並將F列替換爲新文本。 我對excel相當陌生,我嘗試過很多不同的方法。VBA比較多個列值,然後替換爲多個工作表

以下(來自谷歌)工作正常1張,但我需要它來做所有牀單。

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 

回答

0

可以遍歷表像這樣:

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

感謝Buddy.That工作真棒。 – Chaz

+0

超棒的傢伙。請標記爲答案。此外,它發生在我身上,你可能想看它的進展,在這種情況下,在'For Each ...'行後面添加一行'wsh.Activate' – rayzinnz

+0

謝謝rayzinnz。我會稍後再嘗試。再次感謝你的幫助。 ;-) – Chaz