5) 轉貼VBA
Sub 轉貼()
Dim R, xE As Range
R = Application.Match(9E+307, [B:B])
If IsError(R) Then Exit Sub
Set xE = [J1].Cells(Rows.Count, 1).End(xlUp)(2)
With Range("A3:G" & R)
xE.Resize(.Rows.Count, .Columns.Count) = .Value
End With
End Sub
Sub 依帳戶貼入值()
Dim Sht As Worksheet, T$, R&, xE As Range
[驗算!I3:P6000].ClearContents
For Each Sht In Sheets
T = Right(Replace(UCase(Sht.Name), "#", "$"), 2)
If Not T Like "$[A-Z]" Then GoTo 101
R = Sht.Cells(Rows.Count, 2).End(xlUp).Row - 3
If R <= 0 Then GoTo 101
Set xE = [驗算!I1].Cells(Rows.Count, 1).End(xlUp)
xE(2, 3).Resize(R, 6) = Sht.[A4].Resize(R, 7).Value
xE(2, 1).Resize(R) = UCase(Sht.Name)
xE(2, 2).Resize(R) = Right(T, 1)
101: Next
End Sub
Sub 依帳戶貼入值()
Dim Sht As Worksheet, T$, R&, xE As Range
[驗算!I3:P6000].ClearContents
For Each Sht In Sheets
If INSTR(Sht.NAME ,"#")=0 Then GoTo 101
R = Sht.Cells(Rows.Count, 2).End(xlUp).Row - 3
If R <= 0 Then GoTo 101
Set xE = [驗算!I1].Cells(Rows.Count, 1).End(xlUp)
xE(2, 3).Resize(R, 6) = Sht.[A4].Resize(R, 7).Value
xE(2, 1).Resize(R) = Sht.Name
xE(2, 2).Resize(R) = "#" & SPLIT(Sht.Name,"#")(1)
101: Next
End Sub作者: yc1031 時間: 2020-6-14 09:56