1. 選擇待操作的工作表,建立sheet對應的變量
定義一個Worksheet工作表對象WS1:
Dim WS1 As Worksheet
把sheet“名單”賦值給指定的變量WS1:
Set WS1 = Worksheets("名單")
或者,通過工作表出現在工作薄中的順序從左到右,依次用1、2、3.……來引用(“名單”爲sheet1):
Set WS1 = Worksheets(1)
2. 選擇待操作的表格區域
單元格區域即爲range對象,既可以是單個單元格,也可以是多個連續的單元格和多個不連續的單元格。
定義一個range對象rng1:
Dim rng1 As Range
3. 操作單元格對象
引用格式:
worksheet_object.Cells(row,col)
4. 查找Find()
5. 完整代碼
Sub Recompose01() Dim SUM As Worksheet 'Defination of Two Sheets Dim AllOrgs As Worksheet Set SUM = Worksheets(1) Set AllOrgs = Worksheets(2) Dim A As Integer '3 Column: ORG, ADD & Person ORG = 1 Dim N As Integer Add = 14 Dim Q As Integer Person = 17 Dim SearchString As String Dim SearchRange As Range Dim ReturnRange As Range Dim ReturnRow As Integer Set SearchRange = AllOrgs.Range("A183:B427") For Ai = 3 To 5 Debug.Print Ai Debug.Print SUM.Cells(Ai, ORG) SearchString = SUM.Cells(Ai, ORG) 'No Set Set ReturnRange = AllOrgs.Cells.Find(What:=SearchString) If Not ReturnRange Is Nothing Then ReturnRow = ReturnRange.Row Debug.Print ReturnRange Debug.Print ReturnRow SUM.Cells(Ai, Add) = AllOrgs.Cells(ReturnRow, 9) + AllOrgs.Cells(ReturnRow, 10) + AllOrgs.Cells(ReturnRow, 11) SUM.Cells(Ai, Person) = AllOrgs.Cells(ReturnRow, 4) + "(" + AllOrgs.Cells(ReturnRow, 6) + ")" + Str(AllOrgs.Cells(ReturnRow, 8)) SUM.Cells(Ai, Person) = Trim(SUM.Cells(Ai, Person)) 'Delete SPACE End If Next End Sub