
ある条件に一致したシートのみ印刷するというマクロを作成しました。
そのマクロをメニューバーから実行させると、うまく実行されるのですが、
マクロボタンを作って、そのボタンをクリックすると、きちんと実行されないのです。
何が間違っているのでしょうか。
図形で四角形を描く → 図形上で右クリック → マクロの登録 → 登録したいマクロを選択
このようにマクロボタンを作りました。他のマクロは、ボタンをクリックしても動くのに、印刷するマクロのみ、動かないのです。メニューバーからの実行は、動くのに・・・
なぜでしょうか。
どうぞよろしくお願い致します。
No.3ベストアンサー
- 回答日時:
冗長ですが、
Sub 納品書印刷2()
Dim myRow As Long
Dim AKS As Worksheet
Set AKS = ActiveSheet
For myRow = 7 To Cells(Rows.Count, 18).End(xlUp).Row
If Cells(myRow, 18).Value = "●" Then
Sheets(Cells(myRow, 17).Value).Select
calculate
ActiveWindow.SelectedSheets.PrintOut
AKS.Select
End If
Next myRow
End Sub
としてみるとか(地震ないけど)
他には繰り返し構文の前にプレビューを入れてみるとか
No.2
- 回答日時:
印刷されない納品書の「●」マークですが、後ろに空白が入ってたりしませんよね?
正しく入力するか、次のようにTrim関数で前後の空白を除去して判定すれば大丈夫だと思います。
しかし、最初の質問から趣旨がずれているような気がするのですが…。
Sub 納品書印刷()
Dim myRow As Long
For myRow = 7 To Cells(Rows.Count, 18).End(xlUp).Row
If Trim(Cells(myRow, 18).Value) = "●" Then
'Sheets(Cells(myRow, 17).Value).PrintOut '←この行、間違ってませんか?
Cells(myRow, 17).PrintPreview '←正しくはこうかな?
End If
Next myRow
End Sub
●の後ろに空白は入っておりません。
'Sheets(Cells(myRow, 17).Value).PrintOut '←この行、間違ってませんか?
Cells(myRow, 17).PrintPreview '←正しくはこうかな?
↓
間違っていないです。印刷プレビューを表示したいのではなく、印刷をしたいからです。また、このように記述すると、「納品書1」という文字のみが印刷プレビューされます。
「納品書1」シート全部を印刷したいので、記述は間違っていないように思います。
色々と親身になって回答頂き、ありがとうございました。
No.1
- 回答日時:
「きちんと実行されない」とは、具体的にどのような状況になるのでしょうか?(エラーが出るとか、結果がおかしいとか)
特定のシートがアクティブでないと正しく動かないようなマクロを組んでいる訳ではないですよね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/11 11:47
- Excel(エクセル) 【マクロ】マクロボタンをクリックしたら、セルに OK と表示される 3 2023/08/18 07:37
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Visual Basic(VBA) 【ExcelVBA】動的にボタン、ボタン名を生成できますか? 7 2022/04/08 12:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
Excel VBA のdebug(F8キー) が...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
エクセルでマクロ実行中に任意...
-
ワードからエクセルへ貼り付け...
-
Accessのクエリを実行するショ...
-
マクロボタンを作ってのマクロ...
-
Wordの画面を左右にスクロール...
-
モジュール内のマクロを全て実...
-
【Excel VBA】エラー番号400
-
マクロ ブックをマクロなしでコ...
-
ワードマクロで画像を選択する方法
-
Excel マクロの自動実行と編集作業
-
Excelのマクロを実行中に、ダウ...
-
Excel文字列中の太字(Bold)部分...
-
Wordで「原稿用紙○枚」を換算す...
-
texのカウンターについて
-
エクセル グラフの軸の最小値最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
Excel VBA のdebug(F8キー) が...
-
EXCELのセルへ、デジタル時計を...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
エクセルのマクロ機能で前のシ...
-
複数ファイルにある特定のシー...
-
エクセル グラフの軸の最小値最...
-
Wordの画面を左右にスクロール...
-
ワードからエクセルへ貼り付け...
-
モジュール内のマクロを全て実...
-
エクセルで複数のシートをまと...
-
Wordで「原稿用紙○枚」を換算す...
-
Excelマクロでオプションボタン...
-
【Excel VBA】エラー番号400
-
VBAでEXCELに埋め込んだPDFを開...
-
マクロボタンをある条件の時に...
-
Accessのクエリを実行するショ...
-
Excelの改ページ 同シート内で...
おすすめ情報
画像の添付シート「発行シート」の右側に「納品書1」「納品書2」・・があって、●印がついているシート名のみ印刷するマクロを作成しました。
Sub 納品書印刷()
Dim myRow As Long
For myRow = 7 To Cells(Rows.Count, 18).End(xlUp).Row
If Cells(myRow, 18).Value = "●" Then
Sheets(Cells(myRow, 17).Value).PrintOut
End If
Next myRow
End Sub
「発行シート」にある青色のマクロボタンをクリックすると、4シート分印刷されないといけないのに、2シート分しか印刷されないのです。
メニューバーからマクロを実行すると、きちんと4シート分印刷されるのです。
何がおかしいのでしょうか。すみません。どうぞよろしくお願い致します。