Option Explicit
Sub TEST()
Dim Brr, Arr, Crr, c&, i&, x&, xR, R&, T, V, Y, Z
Dim B#, j, K%, P$, Q, Ra
'↑宣告變數
Y = Array("季累計損益表", "資產負債簡表", "累計現金流量季表", "現金流量年表", "損益年表")
'↑令Y 是一維陣列 倒入 5個表的名稱字串
For j = 0 To UBound(Y)
'↑設順外迴圈
Brr = Sheets(Y(j)).Range(Sheets(Y(j)).[B3], Sheets(Y(j)).Cells(Rows.Count, 2).End(3))
'↑令Brr陣列裝入Y 各個表的關鍵字串!
ReDim Arr(1 To UBound(Brr), 1 To 99)
'↑宣告Arr空陣列的列數同Brr!欄數99欄
For i = 1 To UBound(Brr)
'↑設順中迴圈
If Trim(Brr(i, 1)) = "" Then
'↑如果關鍵字串去頭尾的空白字元後是空字元?
GoTo 111
'↑條件成立!就跳到 111 的位置繼續執行
End If
Crr = Split(Trim(Brr(i, 1)), " ")
'↑將關鍵字串去頭尾的空白字元後,以空白字元分割字串成為Crr一維陣列
For x = 0 To UBound(Crr)
'↑設順內迴圈!從0到Crr陣列的後一個
Arr(i, x + 1) = Crr(x)
'↑將Crr一維陣列帶入Arr的二維陣列!
Next
111
Next
Sheets(Y(j)).[C3].Resize(UBound(Arr), 99) = Arr
'↑將各個表從[C3]開始貼入結果資料
Next
Set Arr = Nothing
Set Brr = Nothing
Set Crr = Nothing
End Sub作者: bhsm 時間: 2022-10-25 15:49
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
'↑如果觸發格位址是[A1]
Range("B1").Select
'↑儲存格游標選取[B1]儲存格
Call TEST
'↑執行副程式(TEST)
End If
End Sub
===============================
[B1]有公式,所以後學猜測前輩是要在[A1]輸入後觸發>執行副程式作者: bhsm 時間: 2023-2-23 13:43