[英]Finding a cell with a specific string in it and replacing the cell 2 columns to the right with a specific value
[英]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.