アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで、
1行目 項目名
2行目以降 各データ
60行目 上記のデータの合計
61行目~70行目 メモ

としています。

2行目以降の何行かは入力済みですが、59行目までは空欄です。
ここを印刷せず、空のセルを詰めて、60行目~70行目のメモまでを印刷したいです。

例えば、3行目まで入力が行われていた場合、印刷結果として

1行目+2行目++3行目+60~70行目

となるようにしたいです。一発印刷ができればベストです。

入力されていないところを都度非表示にしたり、印刷する部分だけ選択するのもよいのですが、印刷する回数が多いので、手間がかからない方法を教えてほしいです。

VBAには疎いのですが、記載された内容をいただいて貼り付けたり、チェックすることは可能です。

また、マクロを使わなくてもできる方法があれば、そちらのほうが助かります。

A 回答 (3件)

シートコピーして空白行を削除して印刷プレビューを表示してるだけでよろしければ以下でどうぞ。



Sub 空白行削除でプレビュー表示()
Dim i As Integer
ActiveSheet.Copy after:=ActiveSheet
With ActiveSheet
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For i = 70 To 2 Step -1
If WorksheetFunction.CountA(.Range("A" & i & ":AB" & i)) = 0 Then
.Rows(i).Delete
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
.PrintPreview
End With
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございます!まさにこれです!
勉強しながら調整して使います!感謝しています!

お礼日時:2014/04/17 08:46

こんばんは!



VBAになりますが一例です。
とりあえず空白行は非表示にして、印刷プレビューまでの操作としています。
尚、再表示の操作も必要になると思いますので、
コードを二つ載せておきます。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → 実行したいマクロを選択 → 実行です)

Sub 印刷プレビュー()
Dim i As Long
With ActiveSheet
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Hidden = True
End If
Next i
.PrintPreview
End With
End Sub

Sub 再表示()
ActiveSheet.Rows.Hidden = False
End Sub

こんなんではどうでしょうか?m(_ _)m
    • good
    • 1
この回答へのお礼

ありがとうございます!
印刷プレビューはこういうのではないので、再表示だけ使わせてこります。

お礼日時:2014/04/18 14:56

何列利用されてるのかわかりませんが仮に3列(A~C列)の印刷範囲としたら


A1:C59の範囲を選択した状態で、エクセルのメニューから「データ」>「フィルタ」を選択して頂き
設定されたフィルタの[▼]をクリックしてから「(空白セル)」のチェックボックスを外して
印刷というのは手間ですか。



であれば上記作業でフィルタを作成してから、
エクセルのメニューより「開発」>「マクロの記録」をクリックしてマクロの記録ウィンドウを出します。
「マクロ名」を分かりやすい名前を付けて(必要であればショートカットキーを設定可能)
「OK」をクリックします。

実際に【A1の[▼]をクリックして「(空白セル)」のチェックボックスを外す】作業を行ってから

「開発」>「記録終了」をクリックしてください。
エクセルのメニューから「表示」>「マクロ」とクリックして頂き、上記で付けられた名前のマクロを一覧から選択して
「実行」をクリックしてください。
「フィルタで空白セルを外す作業」をこのマクロでできるようになります。

作成したマクロの実行方法ですが、上記方法以外にも色々ありますのでご参考ください。
・ショートカットを設定している場合はショートカットキーの入力だけでマクロを実行することができますのでさらにお手軽です。
・セルに図形(オートシェイプ)を挿入して、シェイプを右クリックして「マクロの登録」を選び、作成したマクロを登録すると
シェイプをクリックすることでもマクロを実行することができるようになります。
・クイックアクセスツールバー(エクセルオプション>ユーザー設定から設定可能)の設定で、コマンドの種類を「マクロ」にすると作成したマクロが一覧に表示されますので、選択してから「追加」でタイトルバーにマクロ実行用のボタンが作成されます。

この回答への補足

列はABまで使ってます。

質問に書いた61~70行はメモをあちこち(A61:AB70)に書いているため、この方法だと入力をチェックするセルを準備すれば可能だと思います。(たとえば、A2に=COUNTA(B2:AB2)として、正の整数であることを条件とするとか。)

しかし、できればそういった小手先の手法は取りたくないです。セルの数も自分としては扱うのが面倒な量になってきているので増やしたくないもので…。

なので、できれば
「印刷プレビュー」ー「印刷」
でできるくらい簡単に印刷してほしいと思っています。

マクロであれば、マクロボタン一つで印刷の手前まではいくでしょうから…と勝手に思い込んでいます。

補足日時:2014/04/16 16:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています