彰化一整天的論壇

 找回密碼
 立即註冊
查看: 1644|回復: 11

Excel VBA找字串

[複製鏈接]
發表於 2013-11-6 11:07:17 | 顯示全部樓層 |閱讀模式
本帖最後由 imingho 於 2019-11-1 16:27 編輯

這個範例會在第一張工作表上的 A1:A500 範圍內尋找值為 2 的所有儲存格,並將這些儲存格的值變更為 5。
  1. With Worksheets(1).Range("a1:a500")
  2.     Set c = .Find(2, lookin:=xlValues)
  3.     If Not c Is Nothing Then
  4.         firstAddress = c.Address
  5.         Do
  6.             c.Value = 5
  7.             Set c = .FindNext(c)
  8.         Loop While Not c Is Nothing And c.Address <> firstAddress
  9.     End If
  10. End With
複製代碼

參考資料:http://msdn.microsoft.com/en-us/library/office/ff839746.aspx
回復

使用道具 舉報

發表於 2019-11-1 15:52:19 | 顯示全部樓層
老師 可以再解釋一下 他的語法嗎?我愚笨 看不太懂
回復 支持 反對

使用道具 舉報

發表於 2019-11-1 16:25:09 | 顯示全部樓層
jasminejeng 發表於 2019-11-1 15:52
老師 可以再解釋一下 他的語法嗎?我愚笨 看不太懂

您是那一行程式碼看不懂。
回復 支持 反對

使用道具 舉報

發表於 2019-11-4 11:35:51 | 顯示全部樓層
2 個問題 請老師解答
1.原始巨集 會出現迴圈異常   不過修改成3有成功
2.我想把他 改成 找倒關鍵字-clean 會修改字的顏色  沒成功....老師可以幫我看看 是哪裡不對嗎?

            

流程單sample.xls

93 KB, 下載次數: 8

回復 支持 反對

使用道具 舉報

發表於 2019-11-4 11:50:24 | 顯示全部樓層
本帖最後由 imingho 於 2019-11-4 11:54 編輯
jasminejeng 發表於 2019-11-4 11:35
2 個問題 請老師解答
1.原始巨集 會出現迴圈異常   不過修改成3有成功
2.我想把他 改成 找倒關鍵字-clean  ...

您有二個錯誤.1.字串前面要加上雙引號.
2.少了 Set c = .FindNext(c),迴圈只會執行一次

PS:程式要養成內縮的習慣,方便別人幫您偵錯。
下次會請您內縮正確後才會幫您看。
  1. Sub 關鍵字變色()
  2. '
  3.     ' 關鍵字變色 巨集
  4.    
  5.     With Worksheets(1).Range("B1:B500")
  6.         
  7.         Set c = .Find("clean", LookIn:=xlValues)
  8.             
  9.         If Not c Is Nothing Then
  10.                
  11.             firstAddress = c.Address
  12.         
  13.                
  14.             Do
  15.                         
  16.             '執行變紅字
  17.                 With Selection.Font
  18.                     .Color = -16776961
  19.                     .TintAndShade = 0
  20.                 End With
  21.                 Selection.Font.Bold = True
  22.                 Set c = .FindNext(c)
  23.             '迴圈
  24.             Loop While Not c Is Nothing And c.Address <> firstAddress
  25.             
  26.         End If
  27.    
  28.     End With

  29. End Sub
  30.    
複製代碼




流程單sample_answer.xls

97 KB, 下載次數: 8

售價: 1 金錢  [記錄]

回復 支持 反對

使用道具 舉報

發表於 2019-11-4 14:21:29 | 顯示全部樓層
謝謝老師指導
1.意指:「With」和「End With」之間的範圍,需點擊編輯工具列中的「縮排」,
如此將所選取的範圍全部往內推進一個段落點  是這個動作嗎?
2.老師  我執行了幾次  VBA 沒有預期反應.....
回復 支持 反對

使用道具 舉報

發表於 2019-11-4 16:26:19 | 顯示全部樓層
本帖最後由 imingho 於 2019-11-4 16:35 編輯
jasminejeng 發表於 2019-11-4 14:21
謝謝老師指導
1.意指:「With」和「End With」之間的範圍,需點擊編輯工具列中的「縮排」,
如此將所選取 ...
是的,您也可以選取後,按下[Tab]鍵也是一樣的功能。
底下幾個時機點程式碼要內縮:
副程式 sub
函數  function
重複參考單一物件 with
判斷 if
迴圈 for 或while
回復 支持 反對

使用道具 舉報

發表於 2019-11-4 16:31:25 | 顯示全部樓層
jasminejeng 發表於 2019-11-4 14:21
謝謝老師指導
1.意指:「With」和「End With」之間的範圍,需點擊編輯工具列中的「縮排」,
如此將所選取 ...

您要先把之前變色的字改回正常才會看得出效果
20191104.gif

1.請看操作過程

回復 支持 反對

使用道具 舉報

發表於 2019-11-4 16:52:06 | 顯示全部樓層
嗯......老師......
滑鼠移到 B17,  再執行巨集  他就對B17  變色  
滑鼠移到 F9 , 再執行巨集 , 儲存格內容不是關鍵字 , 一樣變紅字  ........
回復 支持 反對

使用道具 舉報

發表於 2019-11-4 17:04:19 | 顯示全部樓層
jasminejeng 發表於 2019-11-4 16:52
嗯......老師......
滑鼠移到 B17,  再執行巨集  他就對B17  變色  
滑鼠移到 F9 , 再執行巨集 , 儲存格內 ...

請用底下程式碼試看看.
  1. Sub 關鍵字變色()
  2. '
  3.     ' 關鍵字變色 巨集
  4.    
  5.     With Worksheets(1).Range("B1:B500")
  6.         
  7.         Set c = .Find("clean", LookIn:=xlValues)
  8.             
  9.         If Not c Is Nothing Then
  10.                
  11.             firstAddress = c.Address
  12.         
  13.                
  14.             Do
  15.                         
  16.             '執行變紅字
  17.                 With c.Font
  18.                     .Color = -16776961
  19.                     .TintAndShade = 0
  20.                 End With
  21.                 c.Font.Bold = True
  22.                 Set c = .FindNext(c)
  23.             '迴圈
  24.             Loop While Not c Is Nothing And c.Address <> firstAddress
  25.             
  26.         End If
  27.    
  28.     End With

  29. End Sub
  30.    
複製代碼


流程單sample_answer2.xls

97 KB, 下載次數: 2

售價: 1 金錢  [記錄]

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2019-11-17 20:18 , Processed in 0.164115 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表