- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
回復 3# amu1129
在BOOK1跟BOOK2的Sheet1模組內輸入程式碼
改變BOOK1跟BOOK2的Sheet1的b2儲存格試試- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim Ar(), Ay(), A As Range
- Ky = Array("B01", "B02", "A01", "A02")
- If Target.Address <> "$B$2" Then Exit Sub
- fs = ThisWorkbook.Path & "\5 B01,B02,A01,A02.xls"
- ReDim Preserve Ay(k)
- Ay(k) = Array("", "尺寸", "編號", "數量")
- k = k + 1
- With Workbooks.Open(fs)
- With .Sheets(1)
- For Each A In .Range(.[B4], .[B65536].End(xlUp))
- If A = Target Then
- ReDim Preserve Ar(s)
- Ar(s) = Array(A.Offset(, 4).Value, A.Offset(, 1).Value, A.Offset(, 5).Value)
- cnt = cnt + A.Offset(, 5).Value
- s = s + 1
- End If
- Next
- End With
- .Close 0
- End With
- For i = 0 To 3
- For j = 0 To UBound(Ar)
- If Ar(j)(0) = Ky(i) Then
- ReDim Preserve Ay(k)
- Ay(k) = Array(k, Ar(j)(0), Ar(j)(1), Ar(j)(2))
- k = k + 1
- End If
- Next
- Next
- ReDim Preserve Ay(k)
- Ay(k) = Array("", "合計", "", cnt)
- k = k + 1
- With Me
- .[A3:D65536].Clear
- .[A4].Resize(k, 4).Value = Application.Transpose(Application.Transpose(Ay))
- .Range("A2").Resize(k + 2, 4).Borders.LineStyle = 1
- .Range("A2").Resize(k + 2, 4).Borders.Weight = xlThin
- .Range("B2").Resize(k + 2, 3).BorderAround 1, xlThick, xlColorIndexAutomatic
- End With
- End Sub
複製代碼 |
|