[VBA] 比對資料及設定格式



贊助商連結


leonchou
2001-09-02, 09:45 PM
先來一個簡單的巨集,當然對於巨集內容,如果你有更好的
寫法或意見,也歡迎和大家分享、討論喔~
 
問題:Sheet1 及 Sheet2 內容如下 --
 
 http://home.pchome.com.tw/world/leonblue/forum/pc_vba_find.jpg
 
   以 Sheet1 的[姓名]尋找 Sheet2,若有符合的
   則將 Sheet1 該項目的編號、姓名、地址三欄
   的底色設成黃色。
 
方法:於 Sheet1 執行此巨集:
 
Sub 小巨集()
1 r = 2
2 Do While Cells(r, 1) <> ""
3 Set f = Sheets(2).Columns(1).Find(Cells(r, 2))
4 If Not f Is Nothing Then
5 Rows(r).Range("A1:C1").Interior.Color = vbYellow
6 End If: r = r + 1
7 Loop
End Sub
 
[說明]
1 設定變數 r 為起啟列號 (row) 初值。
2 對第一欄做迴圈,直到儲存格是空白為止。
 此迴圈執行 Do...Loop 之間 (3~6行) 的動作。
3 在 Sheet2 的第一欄尋找此姓名,將搜尋結果存為一變數 f。
4 若 f 變數不是空值 (表示有找到) 則執行
 If..End If 之間的動作。
5 將第 r 列前三個儲存格的底色設為黃色。
6 結束 If 判斷,將 r 變數加 1 以繼續處理下一列。
7 結束 Do...Loop 迴圈。
 
PS. 為說明之便而在程式碼前加上行號,一般是不需要的。

贊助商連結


逍遙子
2001-09-09, 12:02 AM
哇~~~
現在才看到這幾篇VBA的文章~~
謝謝Leon Chouㄍㄍ的提供分享~~
VBA在OFFICE裡面真的是粉方便的唷~~
許多小指令的設定又快又好用~~

真的謝謝Leon Chouㄍㄍ的分享啦~~
呵呵~~