![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
いつもお世話になっております。
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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルで回数をカウントするマクロ
Excel(エクセル)
-
Do~Loopした回数をカウントしたい
Visual Basic(VBA)
-
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
-
-
4
エクセル マクロ ボタンを押したらカウント +1
Excel(エクセル)
-
5
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
6
VBAのフォント変更(エクセルからoutlookのメール作成において)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
Excel マクロでShearePoint先の...
-
ExcelVBAでPDFを閉じるソース
-
TERA TERMを隠す方法
-
エクセルで別のセルにあるふり...
-
一つのTeratermのマクロで複数...
-
エクセルに張り付けた写真のフ...
-
テニス(ダブルス)乱数表 Exc...
-
マクロ実行時、ユーザーフォー...
-
ファイルが見つからない時、ス...
-
EXCELマクロでのThisisWor...
-
バッチファイルでEXCELを起動し...
-
Excel_マクロ_現在開いているシ...
-
エクセルのマクロをセルの値に...
-
#defineの定数を文字列として読...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
EXCELのVBAでRange("A1:C4")を...
-
エクセルで別のセルにあるふり...
-
ソース内の行末に\\
-
マクロ実行時、ユーザーフォー...
-
特定文字のある行の前に空白行...
-
エクセルVBA
-
マクロの記録を使用したマクロ...
-
wordを起動した際に特定のペー...
-
ダブルクリックで貼り付けた画...
おすすめ情報