- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
各位大大
1.Sheet2表和Sheet3表為資料列各有數千筆資料.
2.Sheet1表A:C欄為Sheet2輸出區,而D:G欄為Shee ...
luke 發表於 2012-9-20 20:19 
Module1ThisWorkBook- Private Sub Workbook_Open()
- Dim rTar As Range
-
- Set v2 = CreateObject("Scripting.Dictionary")
- Set v3 = CreateObject("Scripting.Dictionary")
-
- With Sheets("sheet2")
- For Each rTar In .Range(.[A2], .[A2].End(xlDown))
- v2(rTar & "") = rTar.Row
- Next rTar
- End With
-
- With Sheets("sheet3")
- For Each rTar In .Range(.[A2], .[A2].End(xlDown))
- v3(rTar & "") = rTar.Row
- Next rTar
- End With
- End Sub
複製代碼 Sheet1- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim iI%
- Dim rTar As Range
-
- Set rTar = Target
- With rTar
- Select Case .Column
-
- Case 1 ' 區分
- With .Parent
- For iI = 2 To 3
- .Cells(rTar.Row, iI) = Sheets("sheet2").Cells(v2(rTar.Text), iI)
- Next iI
- End With
-
- Case 4 ' 票號
- With .Parent
- For iI = 2 To 4
- .Cells(rTar.Row, iI + 3) = Sheets("sheet3").Cells(v3(rTar.Text), iI)
- Next iI
- End With
-
- End Select
- End With
- End Sub
複製代碼
TEST25-ans.zip (38.42 KB)
檔案中 Sheet1 右下資料是保留來驗證用的. |
|