|
▼琴葉 さん:
こんにちは。
>Sheets("4")がアクティブでA3の科目がない場合、G=G+1とすると途中までうまくいくのデバックが出てしまいます。
いきなり、コードだけ提示して
>どこがいけないのでしょうか、よろしくお願いいたします。
はやめませんか?
前の質問投稿があって、関連があるのなら、リンクを貼ってください。
それとエラーが発生したなら、
どの行でどんな種類のエラーが発生したか記述してください。
>Private Sub Button集計_Click()
>Set wf = Application.WorksheetFunction
>Set myR1 = Sheets("【仕訳帳】").Range("C2:C65536") '借方金額
>Set myR2 = Sheets("【仕訳帳】").Range("D2:D65536") '借方科目
>Set myR3 = Sheets("【仕訳帳】").Range("F2:F65536") '貸方科目
>Set myR4 = Sheets("【仕訳帳】").Range("G2:G65536") '貸方金額
>
>G = 3
>
>For Each i In myR2
'↑このForループで65535回ループしますよね?
> If Cells(G, 1).Value = "" Then
> 'G=G+1と入れるとエラーがでてしまいます。
' でここに↑を入れてしまうと
'Gは、65538まで増加していきますよね?
'よって、
'> If Cells(G, 1).Value = "" Then
'ここは、G=65537でエラーになりますね!!
> Else
> If Cells(G, 1).Value = i.Value Then
> tr1 = wf.SumIf(Sheets("【仕訳帳】").Range("D2:D65536"), Cells(G, 1).Value, Sheets("【仕訳帳】").Range("C2:C65536"))
> Cells(G, 3).Value = tr1
> MsgBox tr1
> G = G + 1
> Else
> G = G + 1
> End If
> End If
>Next
エラーを出さないためには、変数Gの値を管理することですが、
仕様としてどうすればよいかは、この情報では
わかりません。
|
|