邏輯
1.用迴圈跑過所有指定的儲存格
-> 要會使用迴圈
2.將符合指定條件的儲存格進行處裡
-> 要會撈取特定儲存格的內容
-> if判斷 非"---"的部分及缺少資料部分(空白儲存格??)
3.改底色為黃色
-> 要會編輯特定儲存格
「將公司的兩個excel的C列的資料做比對」
我本以為菩薩您是要將二個活頁簿中的工作表作對照比對,看您下文,是只是個別比對,故改寫如下。詳實境秀。感恩感恩 南無阿彌陀佛
Option Explicit
Sub 兩個excel的C列的資料做比對()
Dim exlWB1 As Workbook, exlWB2 As Workbook, exlWB1RowC, exlWB2RowC
If Range("a1") = "" Or Range("a2") = "" Or Range("B1") = "" Or Range("B2") = "" Then Exit Sub
'a1是第1份活頁簿,b1是第1份活頁簿的指定C列
'a2是第2份活頁簿,b2是第2份活頁簿的指定C列
If VBA.Dir(Range("a1")) = "" Or VBA.Dir(Range("a2")) = "" Then Exit Sub
If VBA.IsNumeric(Range("B1")) = False Or IsNumeric(Range("B2")) = False Then Exit Sub
If Range("a1") = "" Or Range("a2") = "" Or Range("B1") = "" Or Range("B2") = "" Then Exit Sub
Set exlWB1 = VBA.GetObject(Range("a1")) '取得第1份活頁簿
Set exlWB2 = VBA.GetObject(Range("a2")) '取得第2份活頁簿
checkCellVal exlWB1, VBA.CLng(Range("B1"))
checkCellVal exlWB2, VBA.CLng(Range("B2"))
exlWB1.Windows(1).Visible = True
exlWB2.Windows(1).Visible = True
End Sub
Sub checkCellVal(exlWB As Workbook, row As Long)
Dim exlWBRowC
For Each exlWBRowC In exlWB.Sheets(1).UsedRange.Rows(row).Cells
If exlWBRowC = "" Or exlWBRowC <> "---" Then
exlWBRowC.Interior.ColorIndex = 27
End If
Next exlWBRowC
End Sub