- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
2#
發表於 2018-1-10 23:37
| 只看該作者
本帖最後由 luhpro 於 2018-1-10 23:41 編輯
下方附檔 : 只要變更工作表 A 中任一 ※ 下方儲存格(共四個)內容, 其下表格內容就會即時更新.
===== 以下內容放在 Module ========== 以下內容放在 ThisWorkBook =====- Private Sub Workbook_Open()
- Dim iCol%
- Dim lRow&
-
- Set vData = CreateObject("Scripting.Dictionary")
- lRow = 2
- With Sheets("DATA")
- While .Cells(lRow, 4) & .Cells(lRow, 9) <> ""
- If .Cells(lRow, 2) <> "" Then
- vData(.Cells(lRow, 2) & "_" & .Cells(lRow, 3)) = lRow
- End If
- lRow = lRow + 1
- Wend
- End With
- End Sub
複製代碼 ===== 以下內容放在 工作表5 (A) =====- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim iI%
- Dim lRow&
- Dim rSou As Range, rTar As Range
- Dim wsSou As Worksheet
-
- Set wsSou = Sheets("DATA")
- With Target
- Select Case "R" & .Row & "C" & .Column
- Case "R4C2", "R29C2", "R4C18", "R29C18"
- Application.EnableEvents = False
- .Offset(2).Resize(20, 6).ClearContents
- Application.EnableEvents = True
- For iI = 1 To 20
- If vData.Exists(.Value & "_" & iI) Then
- lRow = vData(.Value & "_" & iI)
- Application.EnableEvents = False
- wsSou.Cells(lRow, 4).Resize(, 5).Copy .Offset(1 + iI)
- Application.EnableEvents = True
- Else
- Exit For
- End If
- Next
- With .Offset(2).Resize(20, 6)
- .Font.Size = 16
- With .Borders(xlInsideVertical) ' 字太小,框線不見調整
- .LineStyle = xlContinuous
- .ColorIndex = 0
- .TintAndShade = 0
- .Weight = xlThin
- End With
- With .Borders(xlInsideHorizontal)
- .LineStyle = xlContinuous
- .ColorIndex = 0
- .TintAndShade = 0
- .Weight = xlThin
- End With
- End With
- End Select
- End With
- End Sub
複製代碼
範本_Ans.zip (141.89 KB)
|
|