- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
5#
發表於 2016-4-17 23:12
| 只看該作者
回復 4# art00083303
那就在抓取資料時, 一併建立結果標題攔 : (當然, 順序會變成依抓取先後排列)
- Private Sub cbMerge_Click()
- Dim iI%, iJ%, iSCol%, iTCol%
- Dim lRow&
- Dim aR()
- Dim vD
-
- Rows("21:" & Rows.Count).Clear ' 清掉上一次的資料(含標題攔)
-
- Set vD = CreateObject("Scripting.Dictionary")
-
- Cells(21, 2) = "DATE"
- Cells(21, 3) = "TIME"
-
- lRow = 22
- iTCol = 4
- For iI = 2 To 14 Step 6 '3 個表格
- iSCol = 4
- While Cells(iI, iSCol) <> "" ' 檢查標題攔
- If Not (vD.Exists(CStr(Cells(iI, iSCol)))) Then
- vD(CStr(Cells(iI, iSCol))) = iTCol
- Cells(21, iTCol) = Cells(iI, iSCol)
- iTCol = iTCol + 1
- End If
- iSCol = iSCol + 1
- Wend
-
- For iJ = 1 To 3
- With Cells(lRow, 2)
- .NumberFormat = "yyyy/m/d"
- .Value = Cells(iI + iJ, 2) ' DATE
- End With
-
- With Cells(lRow, 3)
- .NumberFormat = "hh:mm"
- .Value = Cells(iI + iJ, 3) ' TIME
- End With
-
- iSCol = 4
- While Cells(iI + iJ, iSCol) <> ""
- With Cells(lRow, vD(CStr(Cells(iI, iSCol))))
- .Value = Cells(iI + iJ, iSCol)
- .Interior.ColorIndex = Cells(iI + iJ, iSCol).Interior.ColorIndex ' 複製底色
- End With
- iSCol = iSCol + 1
- Wend
- lRow = lRow + 1
- Next
- Next
- End Sub
複製代碼
放-a.zip (11.18 KB)
|
|