いつもお世話になっております。
A1の数字の分だけ印刷するマクロを以下のように理解しました。
Dim n As Integer
n = Application.WorksheetFunction.Sum(Worksheets("Sheet3").Range("A1"))
ActiveWindow.SelectedSheets.PrintOut Copies:=n, Collate:=True
これとは別に、
B1の数字(値)を参照して、
”マクロ2”というマクロの実行回数を指定したいのです。
単に一回実行するだけなら
Application.Run "マクロ2"
ですね。
実行回数を指定する場合、
どのように記述すればよいかご教示ください。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
>A1の数字の分だけ印刷するマクロを以下のように理解しました。
A1に確実に数値が入力されているなら、
Dim n As Integer
n = Worksheets("Sheet3").Range("A1")
だけで十分です。
複数のセルが対象なら、sum関数(Application.WorksheetFunction.Sum() )を利用するのも良いでしょう。
繰返しなら、
For i=1 to n
Call マクロ名
Next
No.2
- 回答日時:
こんにちは。
>A1の数字の分だけ印刷するマクロを以下のように理解しました。
コードをみる限りは、かなり変則的なものだと思います。確かに、SUMには、特殊な機能があるから、そのように、セルの代入値に対して、数値のみが、n に代入できますが、VBAらしくないコードです。
単に、Val 関数だけでもよいような気がします。
n =Val(Worksheets("Sheet3").Range("B1").Value)
Val関数に批判的な人もいますから、
If IsNumeric(Worksheets("Sheet3").Range("B1").Value) Then
n = CInt(Worksheets("Sheet3").Range("B1").Value)
End If
でも、
「実行回数を指定する場合」、って、
>ActiveWindow.SelectedSheets.PrintOut Copies:=n, Collate:=True
プリントアウトするのですから、n の値で回数が決まるのではありませんか?
それに、Application.Run は、同じブック内なら、Call か、そのまま、プロシージャ名を指定すれば、Private キーワードが付いていない限りは、呼び出せるはずです。それとも、プリント印刷のシートの紙の順序は決めて出したいというのでしょうか?もし、そうなら、n は、1回にして、その印刷のPrintOut の部分をループさせ、サブルーチンにして、引数で回数を決めさせるようにすればよいと思います。
ありがとうございました。
何通りかの記述方法があるのですね。
今回は印刷するマクロを指定回数実行するのではなく、
別のマクロを指定回数実行させたかったのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/03 16:07
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
エクセルで回数をカウントするマクロ
Excel(エクセル)
-
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
-
Do~Loopした回数をカウントしたい
Visual Basic(VBA)
-
-
4
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
5
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
マクロで印刷→セルの値から部数変更するには
Excel(エクセル)
-
8
エクセルファイルを開いた回数をカウントし表示させる方法
Excel(エクセル)
-
9
VBAのフォント変更(エクセルからoutlookのメール作成において)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
ExcelのVBA。public変数の値が...
-
メッセージボックスのOKボタ...
-
2つのマクロでチェックボックス...
-
エクセルのマクロについて教え...
-
Excel2013 VBA マクロ実行中に...
-
エクセルのマクロについて教え...
-
VBA初心者 Ctrl+での操作、ボタ...
-
エクセルで別のセルにあるふり...
-
エクセルのマクロについて教え...
-
Excelマクロを引数付で起動
-
「マクロ」の語源
-
エクセルのマクロについて教え...
-
レポートで空データ時に印刷しない
-
ユーザーフォームを起動しなが...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報