- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 19# mycmyc
也可用 Application.Match函數- Option Explicit
- Sub Ex()
- Dim Rng(1 To 2) As Range, e As Range, M As Variant, d As Object
- With Sheets("工作表2")
- .UsedRange.Clear
- .[a1:b1] = Array("日期", "施工項目")
- End With
- With Sheets("工作表1")
- Set Rng(1) = .Range("B6", "B" & .[A6].End(xlDown).Row).Resize(, .[A1].End(xlToRight).Column - 1).SpecialCells(xlCellTypeConstants, 1)
- ' *** .SpecialCells(xlCellTypeConstants, 1) 是數字的儲存格 ***
- For Each e In Rng(1)
- M = Application.Match(.Cells(e.Row, 1).Text, Sheets("工作表2").Columns(1), 0)
- If IsError(M) Then 'Match不到 '
- Set Rng(2) = Sheets("工作表2").Range("A" & Rows.Count).End(xlUp).Offset(1)
- Rng(2) = .Cells(e.Row, 1).Text 'A欄的日期
- Rng(2).Cells(1, 2) = .Cells(1, e.Column) '第一列的施工項目
- Else
- Set Rng(2) = Sheets("工作表2").Range("A" & M) 'Match到 的列號
- Rng(2).Cells(1, 2) = Rng(2).Cells(1, 2) & "、" & .Cells(1, e.Column)
- End If
- Next
- End With
- End Sub
複製代碼 |
|