我目前的工作中,我創建了一個按鈕來查找和替換根據用戶輸入,其中用戶提供一個新的硬件名稱在工作表中的值,Excel的VBA項目,一數量和需要更新新值的工作表名稱。硬件名稱是唯一值,因此數量的更新應根據硬件名稱進行。查找和替換Excel的VBA麻煩
我面臨的問題是,當我嘗試更新這些值時,硬件名稱得到了正確更新,但是在更新數量時不僅更新了該特定硬件名稱的數量,而且更新了所有與舊數量相匹配的數量。
這是怎樣的代碼看起來像:
If .ComboBox1.Value <> vbNullString Then
sName = .ComboBox1.Text 'is combobox name
If Len(.OldHW.Value) > 0 And Len(.NewHW.Value) > 0 Then
sOldText = .OldHW.Text 'OldHW and NewHW are textbox names
sNewText = .NewHW.Text
With Worksheets(sName)
.Cells.replace what:=sOldText, Replacement:=sNewText, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
End If
If Len(.Oldqty.Value) > 0 And Len(.Newqty.Value) > 0 Then
qOldText = .Oldqty.Text
qNewText = .Newqty.Text
With Worksheets(sName)
.Cells.replace what:=qOldText, Replacement:=qNewText, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
End If
End If
End With
請任何輸入將不勝感激......
謝謝。
沒有什麼可以連接您的兩個替換操作:第一個只查找名稱,第二個查找數量。你最好循環遍歷行並找到名稱的每個實例,然後檢查同一行上的數量...... – 2011-03-28 04:56:47