- 帖子
- 605
- 主題
- 92
- 精華
- 0
- 積分
- 648
- 點名
- 0
- 作業系統
- windows
- 軟體版本
- 7
- 閱讀權限
- 50
- 性別
- 男
- 來自
- macau
- 註冊時間
- 2013-4-5
- 最後登錄
- 2019-2-10
 
|
這個sub過程的意思是將sheet4儲存格a1到a500的所有包含2的儲存格替換為儲存格的值為5,我的疑惑主要是在do...while 這個語法塊中,假設找到了第一個包含2的儲存格,那麼就進入do...while 過程 這樣的話 c的值被替換為5 使用set c=.findnext(c)的話 這樣不就變成了找5了嗎?? 而不是找2了??但是為什麼程式執行的結果是正確的??而不是在找到第一個是2的儲存格後,將儲存格的值替換為5,然後再繼續找5呢??麻煩對VBA語法熟悉的指教一下不甚感激!- Sub t1()
- Dim c As Range
- Dim firstaddress As String
- With Worksheets("Sheet4").Range("a1:a500")
- Set c = .Find(2, LookIn:=xlValues)
- If Not c Is Nothing Then
- firstaddress = c.Address
- Do
- c.Value = 5
- Set c = .FindNext(c)
- Loop While Not c Is Nothing And c.Address <> firstaddress
- End If
- End With
- End Sub
複製代碼 |
|