
会社で使っているエクセルのマクロの連続印刷が先月まで出来ていたのが、今月突然エラーが出て2枚目以降が「印刷中」のまま動かなくなってしまいました。
使用しているマクロは下記の通りです。
Sub 個人票印刷()
Range("会社") = Range("自")
Do While Range("会社") <= Range("至")
Sheets("社員").PrintOut
Range("会社") = Range("会社") + 1
Loop
End Sub
残業用紙を名前と部署だけ変えて印刷するために、指定番号分だけ繰り返すものなのですが、印刷しようとすると1枚目だけ印刷されてその後動かなくなってしまいます。
自1→至1 の場合は正常に印刷可能。
自1→至5 の場合は2枚目以降が印刷不可能になります。
何がエラーなのか確認する方法はあるのでしょうか?
マクロは初心者で前任者のものを使用しているのみです。
どうかよろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
直感的にみて、コード自体に無理がありますね。
名前-定義で登録したものでしょうけれども、
Range("会社") <= Range("至")
一体、どんな論理かと思います。
読み手には、Range("会社") も、Range("至")も、意味が分かりません。それ自体は、ユーザーの定義の範囲ですから、分からないのです。
VBA初心者から中級クラスの方は、良く、Rangeの引数に、ワークシートで登録した「名前定義」を使うのですが、それは、固定しているものではありませんから、コードの可読性をあげるなら、勤めて使わないほうがよいです。
「名前定義」は、いくら絶対参照にしたところで移動します。それに、「名前定義」をしたもので、それを掲示板で判定してほしいといわれても、それ自体では、判定できません。ただ、「使うべきではない」というだけです。
>何がエラーなのか確認する方法はあるのでしょうか?
それは、ご自身のワークシートで調べるしかありません。
はっきり言えば、そのマクロは、記録マクロでもよいので作り直しですね。VBAが分からないのでしたら、質問を新たに出して、相談したほうがよいです。そのコードは手が付けられないです。
引数は、「A1アドレス」を入れるべきです。
ただし、いずれにしても、以下のコードは奇妙です。
Do While Range("会社") <= Range("至")
Sheets("社員").PrintOut
Range("会社") = Range("会社") + 1
Loop
シート名を Sheets("社員") としているわけで、Range("会社")や Range("至")は、どこにあるものでしょうか。コードがあやふやすぎます。VBAでは、Names オブジェクトといいますが、それは、テキスト型の文字列数式ですから、それ自体が、一旦インターフェースで翻訳されて、VBAに与えられるわけで、VBAでどう解釈しているかは分かりません。
PrintOut するにしても、範囲に対してするものだから、ActiveSheet.PageSetUp.PrintArea = [範囲のアドレス]
で、PrintOut するのではないのかな?
No.2
- 回答日時:
こんばんは。
あまり時間がないので・・・>エラーが出るわけではなくて、「印刷中」という表示のまま
ご提示のマクロだと、マクロからは「印刷中」という表示はでないはずなのですが、システム側の設定で表示がでるのでしょうか・・・?
多分、マクロは印刷命令を実行中に、印刷が終了できない状態(データを送り終われない)でずっと待っているという事態に陥っているのではないかと推測されます。
いずれにしろ、そのPC固有のトラブルのように見受けられます。(これまでの情報だけでは確定できませんが)
プリンタドライバかシステムのどこかがおかしくなったとか・・
この辺に関しては、まったく無知なのでなんともわかりかねます。(すみません)
どなたか詳しい方からの回答をお待ちします。
No.1
- 回答日時:
ご質問文だけではマクロが止る理由は判断できませんが、エラーが出て停止するわけではないのですよね?
(エラーがでるのであれば、それが大きなヒントになります。)
プリンターからビジー信号が返った時の処理がおかしくなって実行待ちのままとか、他のマクロが動いていて何か干渉しているとか・・・
(カウンターに使用しているセルがRange("会社") という名前なので、どうも気にはなりますが)
最近、機器関連で環境が変わったようなことはないのでしょうか?
>残業用紙を名前と部署だけ変えて印刷するために、
この部分でなにかトラブルが起きている可能性はありませんか?
参照している表などがおかしくなっているとか・・・
別ブックを参照していてその位置が動いているとか・・・
この処理を関数や式で行っているのか、あるいはこちらもマクロで行っているのかなどということも関連してきそうですね。
上記のマクロのどこで止るかを確認するには、VBエディターの画面を開いて、1ステップずつ実行してどこで止るか確認してみるとか、いろいろ方法は考えられますが、対処するのに多少はマクロの知識が必要となりそうです。
早速のご回答有難うございます。
エラーが出るわけではなくて、「印刷中」という表示のまま固まってしまいます。
ためしにデータだけを送って違うパソコンで実行したところ、普通に印刷できました。
ということは、マクロ自体は大丈夫ということでしょうか。
パソコンに何か不具合があるのでしょうか?
ちなみに、印刷できなかったPCから2種類のプリンタに印刷を試してみましたが、2種類ともだめでした。
>プリンターからビジー信号が返った時の処理がおかしくなって実行待ちのまま・・・
これはどうやって確認したらよいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
Excel マクロ VBA プロシー...
-
エクセルに張り付けた写真のフ...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
Excel・Word リサーチ機能を無...
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
VBAにて別ワークブック上の実行...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
エクセルで縦に並んだデータを...
-
マクロで待機時間を作りたい
-
Excel_マクロ_現在開いているシ...
-
VBA アドインについて お詳しい...
-
【Excel】複数のマクロをまとめ...
-
wordを起動した際に特定のペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報