- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 83
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-4-7
               
|
5#
發表於 2012-3-24 14:55
| 只看該作者
回復 4# pitera88
B工作表有資料就寫入B工作表,沒有的就以A工作表為準- Private Sub CommandButton1_Click()
- Dim Sh As Worksheet, A As Range
- Set d = CreateObject("Scripting.Dictionary")
- For Each Sh In Sheets(Array("A", "B"))
- With Sh
- For Each A In .Range(.[B2], .[B2].End(xlDown))
- If IsEmpty(d(A.Value)) Then
- d(A.Value) = Application.Transpose(Application.Transpose(A.Offset(, -1).Resize(, 7).Value))
- Else
- ar = d(A.Value)
- For i = LBound(ar) To UBound(ar)
- If A.Offset(, -1).Resize(, 7).Cells(1, i) <> "" Then ar(i) = A.Offset(, -1).Resize(, 7).Cells(1, i).Value
- d(A.Value) = ar
- Next
- End If
- Next
- End With
- Next
- With Sheets(3)
- .UsedRange.Offset(1).ClearContents
- .[A2].Resize(d.Count, 7).Value = Application.Transpose(Application.Transpose(d.items))
- .[A2].Resize(d.Count, 7).Sort key1:=.Cells(1, 1), Header:=xlNo
- End With
- End Sub
複製代碼 |
|