Sheet2の医療費の支払いをB列に日付、C~K列に医療機関名のシートです。 このSheetから日付(月ごと)を指定して抽出し、Sheet3に転記するところまではできています。

Sheet2の医療費の支払いをB列に日付、C~K列に医療機関名のシートです。 このSheetから日付(月ごと)を指定して抽出し、Sheet3に転記するところまではできています。 医療機関ごとに支払金額の合計はSUM関数を手入力すれば簡単なのですが、VBAではコードをどのように書けば良いのかが分かりません。 なぜなら、抽出するデータ(行数)数が一定ではないからです。医療機関数も今後変動します。 Row.CountやColumn.countが一定でないときのコードを教えてください。 Fomula等の使い方をお願いします。 書物には変動する表の集計の仕方が無いようで困っています。 よろしくお願いします。

Visual Basic | Office系ソフトウェア60閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

このベストアンサーは投票で選ばれました

0

回答ではありませんが・・。 Sheet3に抽出されるデータがA1から出力されるのであれば、以下のようなコードで最終列、最終行が取得できます。 Sub CellCount() With Range("A1").CurrentRegion MsgBox "列は" & .Columns.Count & vbCrLf & "行は" & .Rows.Count End With End Sub 最終行の下に関数を指定したいのであれば、最終行の1つ下はOffset(1)で指定できます。参考になれば・。

その他の回答(1件)

0

参考ページ http://www.niji.or.jp/home/toru/notes/8.html すみません。 質問から、詳細なフォーマットがちょっと想像しずらかったので 具体的なアドバイスが難しいです。 しかしながら・・・ >抽出するデータ(行数)数が一定ではないからです。 とのことだったので、基準となる行数さえ取得できれば解決できるのかなと思い 参考になるサイトのページをコピペしてみました。 また・・・ >Fomula等の使い方をお願いします。 ・・・とのこと。 文字数の制限がある、ここで説明を書くよりも これも参考になるページを紹介した方が判りやすいかな? https://www.moug.net/tech/exvba/0050098.html たぶんその取得したい行数さえ判れば Cells(行数, 列数) ← こんなのとか利用すれば Fomula でなくとも 解決できると思うのですが、念のために。 手抜きな感は否めませんが、質問者さんの助けになれば幸いです。

回答ありがとうございます! ページを覗いてみます。 大昔、N88BASICの時の配列処理 For i=3 to Row.count for j= 2 to Column.count 合計(i,j)...... next next このようなコードの書き方を知りたいのですが・・。