| 
    
     |  | VBA初心者です。ご教授ねがいます。 
 下記のようなデータがあるとします。(実際は2000行20列ほど)
 
 A   B   C    D   E        1行
 217,769         2行
 月 日    借方CD    貸方CD    取引金額    残高   3
 現金                4
 現金           5
 6
 月日    借方CD    貸方CD    取引金額    残高   7
 210301    現金    当座預金    50,000         8
 210301    雑費    現金    423
 210301    旅費    現金    200
 210301    旅費    現金    150
 210301    租税公課    現金    2,000
 210301    通信費    現金    1,600
 210301    旅費    現金    1,400
 210301    雑費    現金    735
 210310    現金    売掛金    27,470
 210311    当座預金    雑収入    6,443
 210311    受取手形    売掛金    100,000
 210311    雑費    現金    600
 210311    厚生費    現金    500
 210311    厚生費    現金    1,360
 210311    雑費    現金    13,099
 210311    雑費    現金    4,200
 210311    厚生費    現金    168
 210312    雑費    現金    1,400
 210312    雑費    現金    1,000
 210312    雑費    現金    3,150
 210312    雑費    現金    150
 210312    雑費    現金    1,400
 210330    雑費    現金    321      30行
 
 
 Sub 借方2()
 
 Dim g As Integer
 Dim retu As Integer
 Dim gyou As Integer    '最終行
 Dim kingaku As Integer
 Dim karikata As Integer
 Dim kasikata As Integer
 
 With ActiveSheet.UsedRange
 gyou = .Rows(.Rows.Count).Row
 End With
 
 kingaku = Application.Match("取引金額", Rows(3), False)
 retu = Application.CountA(Rows(3))
 
 Range(Cells(7, 1), Cells(gyou, retu)).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
 Range(Cells(3, 1), Cells(5, retu)), Unique:=False
 
 
 karikata = Application.Match("借方CD", Rows(3), False)
 
 
 For g = 8 To gyou
 
 If Cells(g, karikata) = Cells(4, karikata) Then
 Cells(g, kingaku + 1) = Cells(g, kingaku)
 
 Else: Cells(g, kingaku + 1) = -Cells(g, kingaku)
 
 End If
 Next
 
 End Sub
 
 上記のマクロですと全ての行の残高列に値が挿入され、処理にかなり
 時間がかかってしまいます。
 オートフィルタ後の可視セルにのみ、残高行へのマクロを実行するには
 どうしたらいいでしょうか?
 他のシートに貼り付ける方法以外でありますでしょうか?
 
 よろしくおねがいします。
 
 
 |  |