[英]Find a cell and change its value in Excel
感謝您抽出寶貴的時間來閱讀我的問題,我不是程序員,我希望可以在這里得到一些幫助。
我想在范圍內找到一個單元格並更改其值。
例如,范圍A1:A20,如果其中有“銷售”(例如使用Vlookup等),則將其值更改為“銷售Q1”或其他我指定的值。
我感謝大家的幫助和時間...
有點舊了,但是我添加了一點使其使它可以找到類似於字符串的值。 因此,例如,如果我要查找Sales1或sales222,則可以將其與通配符一起使用。
Dim ws As Worksheet
For Each ws In Sheets
For i = 1 To 20
If LCase(ws.Cells(i, 1)) Like "sales*" Then 'ensure the search value is lowercase
ws.Cells(i, 1) = "Sales Q1"
End If
Next
Next ws
Sub replace_sales()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For i = 1 To 20
If ws.Cells(i, 1) = "Sales" Then
ws.Cells(i, 1) = "Sales Q1"
End If
Next
Next ws
End Sub
您不能簡單地使用Ctrl +H。順便說一句,此代碼現在將在活動工作簿的每張工作表中將“銷售”替換為“銷售Q1”-代碼將在第1-20行和第1列中查找銷售量。
根據上一個答案的代碼:
Sub AnyNameYouLike()
For i = 1 To 20
If SheetName.Cells(i, 1) Like "*Sales*" Then
SheetName.Cells(i, 1) = "Sales Q1"
End If
Next
End Sub
引用單元格的調用是: SheetName.Cells(rowNumber, columnNumber)
。 即,A列成為第1列,C列成為第3列,依此類推。
SheetName
不是您在Excel標簽中看到的工作表名稱。 是您在左側的VBEditor中看到的名稱。 您在Excel中看到的工作表名稱在括號之間指出。
for
指令執行For
指令和Next
指令之間的行的次數與您指示的次數相同(本例中為20次),每次將i
替換為一個不同的數字(第一次為1,第二次為2,最后一次為i
)與20)。
Like
指令使您可以進行=
不能進行的匹配。 *
表示任何內容,因此,如果您使用的是"*Sales*"
表示要匹配包含0個或某些字符,然后是Sales
以及0個或多個字符的任何單元格。 例如,您可以使用"Sales*"
來匹配以Sales
開頭的單元格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.