簡體   English   中英

查找單元格並在Excel中更改其值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM