Excel基礎

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



2022年12月3日【ID:0】

メンバー限定

【番外-019】マクロ実行中にブックを操作

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


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




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

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

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




ExcelVBAレベル確認

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

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

・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予備-連携]で連携できます


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

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





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

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


- 人気の記事 -



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



サイト累計閲覧数

6847318

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

Excel完全制覇


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

【Excel基礎】

【番外-053】VLOOKUP関数の列番号を数えずに指定

【2-数式06】配列数式とは

【1-入門07】フィルターの設定方法

【3-VBA20】VBAの処理速度を高速化する方法

【番外-046】条件付き書式で行全体を色付け

【番外-052】パワークエリ:参照ファイルをセル上で管理(相対参照にも対応)

【1-入門04】セルの表示形式の基礎から応用

【3-VBA25】静的変数(Static)とは

【番外-055】「&””」と「*1」の活用方法

【番外-012】PDFファイルの読込方法2選

【1-入門08|ex1】選択範囲内で中央の活用

【3-VBA20】処理時間を劇的に早くする方法

【番外-029】不要な行を瞬時に削除する方法2選

【1-入門14】保存画面の「ツール」

【番外-023】Excelの計算は正しくないことがある!

【4-Officeスクリプト04】条件分岐とは

【3-VBA09】配列の添え字を設定する方法「連想配列」

【1-入門31】「0」からの数字を表示する方法

【1-入門00】Excelの開き方・保存方法・要素の名前

【番外-044】カレンダーの固定曜日と指定日に「休」を表示

【番外-057】○○関数で「セル結合を含まない表」に変換

【00】Excel学習本の本音レビュー

【オンライン講座】第二弾(VBA基礎~検索フォーム開発)

【番外-035】マトリックス表をリスト形式に変換

【番外-024】OneDrive内のパスをVBAで参照





一覧ページへ

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