Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51120 / 76738 ←次へ | 前へ→

【30492】Re:SumIfの集計
発言  ichinose  - 05/10/28(金) 17:16 -

引用なし
パスワード
   ▼琴葉 さん:
こんにちは。

>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の値を管理することですが、
仕様としてどうすればよいかは、この情報では
わかりません。

0 hits

【30483】SumIfの集計 琴葉 05/10/28(金) 16:09 質問
【30492】Re:SumIfの集計 ichinose 05/10/28(金) 17:16 発言
【30575】Re:SumIfの集計 琴葉 05/10/31(月) 10:12 質問
【30609】Re:SumIfの集計 ichinose 05/10/31(月) 22:48 発言
【30636】Re:SumIfの集計 Jaka 05/11/1(火) 17:49 発言
【30670】Re:SumIfの集計 琴葉 05/11/2(水) 10:35 お礼
【30669】Re:SumIfの集計 琴葉 05/11/2(水) 10:32 お礼

51120 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free