お家賃の請求書を作りたいと思っています。
シート2にデータを入力し、シート3で差込印刷をしようと考えています。
一人で、数部屋借りてくださっている場合は、室ごとに明細を付けたいのですが、どのようにしたらよいかわかりません。
項目の列のセルに、データ(数値=料金)があるときは印刷して、データが無いときは詰めて印刷をさせたいです。
電話料金の請求書で、複数契約している場合、オプション契約している場合していない場合などで行が印字されていたりしなかったりしますのでそのようになればスマートかなと思います。
別フォーム(印刷屋さんに注文しているフォーム)で印刷するマクロは作成できたのですが、これに手を加える事で、添付画像のように出来るようでしたら教えていただけませんでしょうか。
Sub 印刷()
Dim ws As Worksheet
Dim i As Integer
If MsgBox("印刷します。", _
vbQuestion + vbYesNo, "連続印刷") <> vbYes Then Exit Sub
i = 2
With Worksheets("集計")
Do While .Cells(i, 2).Value <> "" 'B列のi行が空白では無い場合に処理を実行する。
If .Cells(i, 1).Value = 1 Then 'A列に1が入っていたら印刷する。
Set ws = Worksheets("差込")
'差込先:差込元の形式で指定する。
ws.Range("B1").Value = .Cells(i, 7).Value '郵便番号
ws.Range("B2").Value = .Cells(i, 8).Value '住所1
ws.Range("B3").Value = .Cells(i, 9).Value '住所2
ws.Range("B4").Value = .Cells(i, 10).Value '住所3
ws.Range("B6").Value = .Cells(i, 5).Value '名フル
ws.Range("N6").Value = .Cells(i, 6).Value '敬称
ws.Range("AH3").Value = Format(Worksheets("HOME").Range("B5").Value) '発行日"年"
ws.Range("AJ3").Value = Format(Worksheets("HOME").Range("B6").Value) '発行日"月"
ws.Range("AL3").Value = Format(Worksheets("HOME").Range("B7").Value) '発行日"日"
ws.Range("P7").Value = Format(Worksheets("HOME").Range("B2").Value) '請求"年"
ws.Range("S7").Value = Format(Worksheets("HOME").Range("B3").Value) '請求"月"
ws.Range("W19").Value = Format(Worksheets("HOME").Range("B14").Value) 'その他空欄
ws.Range("W20").Value = Format(Worksheets("HOME").Range("B15").Value) 'その他空欄
ws.Range("B11").Value = .Cells(i, 2).Value '室番
ws.Range("F11").Value = .Cells(i, 12).Value '室料翌月
ws.Range("L11").Value = .Cells(i, 11).Value '室料当月
ws.Range("R11").Value = .Cells(i, 32).Value '附帯料計
ws.Range("X11").Value = .Cells(i, 33).Value '賃附合計
ws.Range("AE11").Value = .Cells(i, 39).Value '消費税等
ws.Range("AK11").Value = .Cells(i, 40).Value 'ご請求金額合計
ws.Range("B17").Value = .Cells(i, 13).Value '共益費
ws.Range("G17").Value = .Cells(i, 16).Value '電気Kw
ws.Range("G18").Value = .Cells(i, 14).Value '電気金額
ws.Range("M17").Value = .Cells(i, 19).Value '冷暖電気Kw
ws.Range("M18").Value = .Cells(i, 17).Value '冷暖電気料金
ws.Range("R17").Value = .Cells(i, 22).Value '冷暖ガスm3
ws.Range("R18").Value = .Cells(i, 20).Value '冷暖ガス料金
ws.Range("W17").Value = .Cells(i, 25).Value '水道m3
ws.Range("W18").Value = .Cells(i, 23).Value '水道料金
ws.Range("B21").Value = .Cells(i, 26).Value '貸金庫料
ws.Range("G21").Value = .Cells(i, 27).Value '工事料
ws.Range("L21").Value = .Cells(i, 28).Value '看板料
ws.Range("R21").Value = .Cells(i, 29).Value '特別料
ws.Range("AD14").Value = .Cells(i, 34).Value '摘要"1
ws.Range("AD15").Value = .Cells(i, 35).Value '摘要"2
ws.Range("AD16").Value = .Cells(i, 36).Value '摘要"3
ws.Range("AD17").Value = .Cells(i, 37).Value '摘要"4
'印刷する
Worksheets("差込").PrintOut
End If
i = i + 1 'iに1を足して次の行へ移動する。
Loop
End With
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは
画像見れないですよー
で、すみません、読解力が足りないのですが、隠したいのは
列ですか?行ですか?
何れでも、できる方法としては印刷前にセルが空白か確認して、その列なら幅を、行なら高さを 0 にすればよいと思います。
空白セルかどうか判定してから
Columns(1).ColumnWidth=0
とか
Rows(1).RowHeight=0
行を隠すなら、オートフィルタを設定する方法がありますね。
繰り返し処理が不要なので、楽かもしれません。
http://officetanaka.net/excel/vba/tips/tips155.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル DBから該当データを...
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
【ExcelVBA】sheet作成時にマク...
-
オペランドが足りませんとコメ...
-
エクセル/マクロ Exit Subが実...
-
Excel2010でふりがなが漢字にな...
-
エクセルの文字間スペースを入...
-
VBA シートの切り替えができな...
-
pythonでrequestsが使えない
-
mfc42.dllファイルってなんです...
-
マクロ実行ボタンがコピー出来ない
-
VBAでシートコピー後、シート名...
-
貼り付けをマクロで禁止させたい。
-
WordPressをインストールしてい...
-
(int)キャストとintvalの違い
-
AUTOCAD 2010でdwlファイルの場...
-
OBSが起動できません
-
エクセル 「実行時エラー"13":...
-
JWWでDXFファイルを開きたい
おすすめ情報
http://s1.gazo.cc/up/217578.jpg このようにしたいのですが、明細部分の印刷方法で悩んでいます。
やりたい事がうまく説明が出来なかったのでこの質問はなかったことにしてください。ありがとうございました。