Excel基礎

トップ > Excel > Excel基礎 > 記事
Excelトップへ
Excel基礎一覧へ



2022年12月3日【ID:0】

メンバー限定

【ex19】マクロ実行中にブックを操作


マクロ(VBA)を実行している時の待機時間の効率化として、ブック(Excelファイル)を操作する方法について解説していきます。




・マクロ実行中にブックを操作できない理由

通常、マクロ(VBA)を実行している最中にExcelを操作することができません。
ブックを複数立ち上げると、通常は同じExcelアプリケーション上で複数のブックが立ち上げられます。
マクロの大元のVBAはExcelアプリケーションに紐づいています。

そのため、マクロを実行してExcelアプリケーションが待機している時間に関しては、他のブックであっても操作することができません。





・マクロ実行中にブックを操作するには?

マクロ実行中にブックを操作する方法には以下のようなものがあります。

・DoEvents関数を用いる
・別のアプリを立ち上げる

順に解説していきます。




・DoEvents関数を用いる

前者の「DoEvents関数を用いる」に関しては、少し専門的な内容になります。

マクロを実行している最中は、CPU上でExcelアプリケーションの処理をしていることになります。
この処理が完了しない限り、Excelアプリケーションの他の処理は実行できません。

>>CPUについて調べる(Google)

Excelを操作するという処理は、このCPUの中の「Excelアプリケーション」にて行われます。
そのため、Excelアプリケーションがマクロ処理を行っている時は操作ができなくなります。

ではどのようにしたらExcelの操作ができるようになるのかというと、
Excelアプリケーションでマクロを実行している間のExcel操作を他の処理に割り当てるという方法です。
※具体的に言うと、オペレーティングシステムにて処理させる方法です。

それがDoEvents関数になります。

例えば、以下のマクロ実行させるとしばらくの間、Excelが操作できなくなります。

Sub test()
    
    For i = 1 To 100000
        Range("A1").Value = i
    Next i
    
End Sub

これはセルA1に1~100000を順番に入力するというプログラムです。
この中に以下のようにDoEvents関数を入れてみます。


続きはIT予備メンバー限定です。

メンバー限定コンテンツになります。




IT予備メンバーページと連携することで内容を確認することができます。

メンバーとは


すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。

ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
1分で読める小技集 1分で読める小技集





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > Excel > Excel基礎 > 記事
Excelトップへ
Excel基礎一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

3808760

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
✨困ったとき✨ Excel
保護解除ツール


トップ > Excel > Excel基礎 > 記事
Excelトップへ
Excel基礎一覧へ