簡體   English   中英

查找單元格並替換為其他值

[英]Finding cell and replacing with different value

一旦處理完查詢后,我想編寫一個電子表格來記錄查詢,希望將條目的狀態更改為已關閉。

當前,用戶可以在工作表1上鍵入查詢的代碼,然后選擇關閉查詢。 然后,我想搜索存儲所有記錄的工作表2,並通過在末尾添加C將查詢代碼更改為關閉。

 Private Sub CommandButton8_Click()
 Dim Findtext As String
 Dim Replacetext As String

 ThisWorkbook.Sheets("Sheet 1").Activate

 Findtext = Sheets("Sheet 1").Range("C25").Value
 Replacetext = Sheets("Sheet 1").Range("E25").Value


 ThisWorkbook.Sheets("Sheet 2").Activate

 Cells.Replace What:=Findtext, Replacement:=Replacetext, LookAt:=xlPart, _
 SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
 ReplaceFormat:=False     
 End Sub

C25是用戶鍵入的代碼,E2當前為CONCATENATE(C25,“ C”)目前,更改是在工作表1而不是工作表2上進行的,我對VBA的經驗有限,因此假設我必須缺少某些內容出來,但不確定是什么。

嘗試這個。 您無需激活工作表,只需添加如下工作表引用即可。

Private Sub CommandButton8_Click()

Dim Findtext As String
Dim Replacetext As String

With Sheets("Sheet 1")
    Findtext = .Range("C25").Value
    Replacetext = .Range("E25").Value
End With

Sheets("Sheet 2").Cells.Replace What:=Findtext, Replacement:=Replacetext, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub

您可以簡單地使用Find方法。

另外,無需使用.Activate

 Private Sub CommandButton8_Click()

 Dim Findtext As String
 Dim Replacetext As String

 Findtext = Sheets("Sheet 1").Range("C25").Value
 Replacetext = Sheets("Sheet 1").Range("E25").Value

    Dim myCel As Range

    With ThisWorkbook.Sheets("Sheet 2").Cells
        Set myCel = .Find(What:=Findtext, LookAt:=xlWhole)
        myCel.Value = Replacetext
    End With

 End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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