
エクセルで、
1行目 項目名
2行目以降 各データ
60行目 上記のデータの合計
61行目~70行目 メモ
としています。
2行目以降の何行かは入力済みですが、59行目までは空欄です。
ここを印刷せず、空のセルを詰めて、60行目~70行目のメモまでを印刷したいです。
例えば、3行目まで入力が行われていた場合、印刷結果として
1行目+2行目++3行目+60~70行目
となるようにしたいです。一発印刷ができればベストです。
入力されていないところを都度非表示にしたり、印刷する部分だけ選択するのもよいのですが、印刷する回数が多いので、手間がかからない方法を教えてほしいです。
VBAには疎いのですが、記載された内容をいただいて貼り付けたり、チェックすることは可能です。
また、マクロを使わなくてもできる方法があれば、そちらのほうが助かります。
No.2ベストアンサー
- 回答日時:
シートコピーして空白行を削除して印刷プレビューを表示してるだけでよろしければ以下でどうぞ。
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
No.3
- 回答日時:
こんばんは!
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
No.1
- 回答日時:
何列利用されてるのかわかりませんが仮に3列(A~C列)の印刷範囲としたら
A1:C59の範囲を選択した状態で、エクセルのメニューから「データ」>「フィルタ」を選択して頂き
設定されたフィルタの[▼]をクリックしてから「(空白セル)」のチェックボックスを外して
印刷というのは手間ですか。
であれば上記作業でフィルタを作成してから、
エクセルのメニューより「開発」>「マクロの記録」をクリックしてマクロの記録ウィンドウを出します。
「マクロ名」を分かりやすい名前を付けて(必要であればショートカットキーを設定可能)
「OK」をクリックします。
実際に【A1の[▼]をクリックして「(空白セル)」のチェックボックスを外す】作業を行ってから
「開発」>「記録終了」をクリックしてください。
エクセルのメニューから「表示」>「マクロ」とクリックして頂き、上記で付けられた名前のマクロを一覧から選択して
「実行」をクリックしてください。
「フィルタで空白セルを外す作業」をこのマクロでできるようになります。
作成したマクロの実行方法ですが、上記方法以外にも色々ありますのでご参考ください。
・ショートカットを設定している場合はショートカットキーの入力だけでマクロを実行することができますのでさらにお手軽です。
・セルに図形(オートシェイプ)を挿入して、シェイプを右クリックして「マクロの登録」を選び、作成したマクロを登録すると
シェイプをクリックすることでもマクロを実行することができるようになります。
・クイックアクセスツールバー(エクセルオプション>ユーザー設定から設定可能)の設定で、コマンドの種類を「マクロ」にすると作成したマクロが一覧に表示されますので、選択してから「追加」でタイトルバーにマクロ実行用のボタンが作成されます。
この回答への補足
列はABまで使ってます。
質問に書いた61~70行はメモをあちこち(A61:AB70)に書いているため、この方法だと入力をチェックするセルを準備すれば可能だと思います。(たとえば、A2に=COUNTA(B2:AB2)として、正の整数であることを条件とするとか。)
しかし、できればそういった小手先の手法は取りたくないです。セルの数も自分としては扱うのが面倒な量になってきているので増やしたくないもので…。
なので、できれば
「印刷プレビュー」ー「印刷」
でできるくらい簡単に印刷してほしいと思っています。
マクロであれば、マクロボタン一つで印刷の手前まではいくでしょうから…と勝手に思い込んでいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Libre office マクロ
-
マクロを組んで作業するのは実...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
マクロを使って結合セルに丸を...
-
IF関数を使ってマクロを実行さ...
-
エクセルで縦に並んだデータを...
-
最小化したoutlook元に戻すマクロ
-
エクセルのマクロでワードの任...
-
ExcelのVBA。public変数の値が...
-
EXCELのVBAマクロでパソコンを...
-
非表示の列をすべて削除するマクロ
-
既存のマクロをコンボボックス...
-
VBSからのエクセル操作での初期...
-
ASP.NETからEXCEL起動
-
エクセルでA1セルに時刻をリア...
-
エクセルVBAでエラー、Changeの...
-
Wordのマクロでクリップボード...
-
VB初心者です。メールから添付...
-
Sub ***( ) と Private Sub ***...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報