- ベストアンサー
マクロ初心者です。複数のシートを一覧に反映させたいのですが。
すみません。どなたか教えてください。 複数の請求書シートがあり、項目を入力すると、 先頭の一覧シートに項目が反映されるように作成したいのですが、 マクロで作成する方法ありますでしょうか? 一覧には複数シートの合計金額もわかるように作りたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
下記の状態ならこんな感じかと。 Sub test() Dim WS1 As Worksheet Dim WS As Worksheet Dim i As Integer Dim r As Range Set WS1 = Worksheets("Sheet1") Set r = WS1.Range("A1") For i = 2 To Worksheets.Count Set WS = Worksheets(i) With WS r.Value = .Range("D5").Value r.Offset(, 1).Value = .Range("A3").Value r.Offset(, 2).Value = .Range("F7").Value End With Set r = r.Offset(1) Next End Sub
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
”請求書”として印刷できるレイアウトをもったシートが複数有り、 そこから1つの”一覧”シートに纏めたいと言う事でしょうか? 質問者さんはシートを目の前に悩んでいると思いますが、 シートの見えない方は情報からしか検証・判断・アドバイスが 出来ないですよ。 例えばこちらにあるように、 【Excel:条件付き文字列の結合方法】 http://okwave.jp/qa3304401.html どのようなものを、どのようにしたいのか、シートレイアウトが 明確でないと回答は難しいと思いますよ。
お礼
>”請求書”として印刷できるレイアウトをもったシートが複数有り、 そこから1つの”一覧”シートに纏めたいと言う事でしょうか? はい。そんなかんじです。 質問も書き直してみます。 請求書(Sheet2) A列 D列 F列 3行目 社名 5行目 日付 7行目 金額 ↑こんなかんじでいくつか項目を入力していく請求書のフォームを 作り、Sheet3~Sheet20くらいコピーした状態です。 Sheet1を一覧表というシート名にして、 A列 B列 C列 1行目 Sheet2の日付 Sheet2の社名 Sheet2の金額 2行目 Sheet3の日付 Sheet3の社名 Sheet3の金額 ・ ・ 20行目くらいまで続く・・ 21行目 Sheet2からSheet21までの 合計額 みたいな表にしたいのですが・・。 やっぱりまだわかりにくいですよね。。すみません。
- n-jun
- ベストアンサー率33% (959/2873)
>マクロで作成する方法ありますでしょうか? マクロで出来るかどうかの判断をするには、かなり難しいと思います。 シートレイアウト・項目の入力方法・項目の反映(抽出・検索etc)・ 合計金額の表示位置等々不明な点があります。
お礼
わかりにくくてすみません。 例えばシート1のA3には社名、D5には日付、F7に金額を入力できる フォームをエクセルで作ってみたのですが、 エクセルの一覧の式(=’シート1’!A3)にするより、 マクロを使って、各シートに入力したものを先頭の一覧シートに、 うまく連動させて、1ケ月分の合計も見れる表ができれば助かるのですが・・。VBAの本を見てもよくわからなくて。
お礼
わかりにくい質問にお答えいただきありがとうございます! 参考にさせていただきます!