⚡ 自動化する — 繰り返し作業をなくす
VBA、マクロ、Power Query、Power Automate、Office Scriptsの活用テクニック
こんなときに:
- •毎月のレポート作成を自動化したい
- •CSVを毎回同じ形式に整えたい
- •複数シートのデータを統合したい
- •VBAとPower Queryどっちを使う?
64件のQ&A
LAMBDA関数はどのバージョンで使える?
LAMBDA関数はMicrosoft 365専用です。
Power Queryはどのバージョンで使える?
Power QueryはExcel 2016ではアドイン、2019以降では標準搭載です。
ExcelのVBAランタイムはバージョンで異なる?
VBAランタイムは全バージョンでバージョン7.1で統一されています。
32bitから64bitのExcelに移行する際、VBAで注意すべき点は?
64bit移行時はPtrSafe宣言とLongPtr型への変更が必要です。
新しいバージョンのExcelでVBAオブジェクトモデルに変更はある?
Office 2016以降では大きなオブジェクトモデルの変更はありません。
ThisWorkbook.PathがURL(https://...)を返すようになった?
2021/365ではOneDrive/SharePointファイルのPathがURLを返すようになりました。
マクロのセキュリティ設定はバージョンで変わった?
基本設定は全バージョン共通ですが、365ではセキュリティが強化されています。
CSVファイルの文字化けを防ぐ方法はバージョンで違う?
全バージョンで文字化けの可能性があります。Power Queryでのエンコーディング指定が確実です。
マクロが「セキュリティリスク」として自動ブロックされるのはなぜ?
365ではインターネットからのマクロがデフォルトブロックされます。
マクロの記録方法は?
「開発」タブ→「マクロの記録」で操作を記録できます。
ボタンクリックでマクロを実行する方法は?
フォームコントロールの「ボタン」にマクロを割り当てて実行できます。
個人用マクロブック(PERSONAL.XLSB)とは?
PERSONAL.XLSBはすべてのブックから呼び出せるマクロの共通保存場所です。
Office Scripts(TypeScript)でExcel操作を自動化できるバージョンは?
Office ScriptsはMicrosoft 365のExcel Online専用のTypeScriptベースの自動化機能です。
VBAとPower Automateの使い分けは?
VBAはExcel内部操作、Power Automateは外部連携が得意です。
Power Query(パワークエリ)とは?何ができる?
Power Queryはプログラミング不要でデータの取得・変換・読み込みを行う機能です。
Power Queryのバージョンごとの機能差は?
2016は基本機能、2019でJSON追加、365はPDF取込やあいまいマージに対応。
Power QueryでCSVファイルを取り込む方法は?
「データの取得」→「テキスト/CSVから」で取り込み。文字コードも指定可能。
フォルダ内の複数ファイルを一括で結合する方法は?
「フォルダーから」で複数ファイルを一括結合。更新ボタンで自動追加も可能。
Power Queryのマージ(結合)でVLOOKUPの代わりにデータを結合する方法は?
「クエリのマージ」でVLOOKUP的なテーブル結合が可能。6種類の結合方法に対応。
あいまいマージ(ファジーマッチ)はどのバージョンで使える?
あいまいマージはMicrosoft 365専用。表記ゆれがあっても結合可能です。
Power Queryの「追加」(テーブルの縦結合)の使い方は?
「クエリの追加」でテーブルを縦結合(行追加)できます。
Power Queryエディターでよく使う変換操作は?
列の削除、型変更、フィルタ、分割、ピボット解除等が主な変換操作です。
Power Queryでクロス集計表を縦持ちに変換(ピボット解除)する方法は?
「列のピボット解除」でクロス集計表を縦持ちに変換できます。
Power Queryのクエリを更新する方法は?自動更新は可能?
「すべて更新」で手動更新。定期更新や開くときの自動更新も設定可能。
Power QueryでPDFファイルからデータを取り込めるバージョンは?
PDF取り込みはMicrosoft 365専用。テーブルを自動検出して取り込めます。
Power QueryでWebページからデータを取り込む方法は?
「Webから」でURLを指定し、Webページ内のテーブルを取り込めます。
Power QueryのM言語とは?詳細エディターの使い方は?
M言語はPower Query内部の関数型言語。詳細エディターで直接編集可能。
Power QueryとVBAはどう使い分ける?
Power Queryはデータ整形、VBAは細かい制御。組み合わせが効果的です。
Power QueryからPower Pivotのデータモデルに読み込む方法は?
「閉じて次に読み込む」→「データモデルに追加」で100万行超の処理が可能に。
LAMBDA関数でよく使うカスタム関数の例は?
LAMBDA関数で税込計算や評価判定などの繰り返し使う処理をカスタム関数として定義できます。
REDUCE関数で累計(ランニングトータル)を計算する方法は?
REDUCE関数で累計を計算できますが、累計配列を作るにはSCAN関数の方が適しています。
区切り位置でテキストを分割する方法は?
データタブの「区切り位置」で、カンマやスペースなどの区切り文字でテキストを複数列に分割できます。
シートを「完全非表示(VeryHidden)」にする方法は?
VBAでシートのVisibleをxlSheetVeryHiddenに設定すると、再表示メニューに表示されません。
クイックアクセスツールバーによく使う操作を登録する方法は?
ウィンドウ左上のツールバーに、頻繁に使う機能を登録してワンクリック実行できます。
リボンのカスタマイズ方法は?
リボンに独自タブ・グループを作成し、よく使う機能を集約してカスタマイズできます。
マクロを個人用マクロブックに保存して全ブックで使う方法は?
マクロを個人用マクロブック(PERSONAL.XLSB)に保存すると、全ブックで実行可能になります。
テンプレートファイル(.xltx/.xltm)の作り方は?
.xltx/.xltm形式で保存すると、ダブルクリックで元ファイルを基にした新しいブックが開きます。
Excel起動時に自動でファイルを開く設定は?
XLSTARTフォルダにファイルを配置、または起動フォルダを指定すると自動で開きます。
CSV取り込み時に日付が認識されない場合の対処法は?
テキストファイルウィザードで列の形式を「日付」に指定、またはDATEVALUE関数で変換します。
VBAのAutoFilter代わりにFILTER関数で条件抽出する方法は?
FILTER関数で条件指定するとVBAのAutoFilterと同等の抽出が可能
VBAのRange.Sort代わりにSORT関数でデータを並べ替える方法は?
SORT関数で数式による動的な並べ替えが可能、VBAマクロ不要
VBAのDictionary代わりにUNIQUE関数で一意リストを作る方法は?
UNIQUE関数でVBAのDictionary相当の重複削除が1行で実現
VBAのFunction代わりにLAMBDA関数で自作関数を作る方法は?
LAMBDA関数で名前定義すればVBAのFunction相当の自作関数が作れる
VBAのRegExp代わりにREGEX関数で正規表現を使う方法は?
REGEX系関数でVBAのRegExpオブジェクト相当の処理が数式で可能
VBAのForループ代わりにMAP/REDUCE関数で配列処理する方法は?
MAP/REDUCE関数でVBAのループ処理を関数型スタイルで置き換え可能
VBAのシートループ代わりにVSTACKで複数シートを統合する方法は?
VSTACK関数で複数シートを縦結合、VBAのシートループが不要に
VBAのDim変数代わりにLET関数で中間変数を使う方法は?
LET関数で数式内に変数を定義、VBAのDim文相当の機能を実現
VBAのOpen文代わりにPower QueryでCSVを読み込む方法は?
Power QueryでCSV読み込みを自動化、VBAのOpen文が不要に
VBAのDir()ループ代わりにPower Queryでフォルダ結合する方法は?
Power Queryのフォルダ結合でVBAのDir()ループが不要に
VBAのVLOOKUPループ代わりにPower Queryマージでデータ結合する方法は?
Power Queryのマージ機能でVBAのVLOOKUPループを高速化
VBAのピボット解除代わりにPower Queryのピボット解除を使う方法は?
Power Queryのピボット解除でVBAの複雑なループが不要に
VBAのAcrobat操作代わりにPower QueryでPDFを取り込む方法は?
Power QueryでPDFから直接データ取得、VBAのAcrobat操作不要
VBAのInterior.Color代わりに条件付き書式でセルの色を変える方法は?
条件付き書式でVBAのInterior.Color設定を自動化
VBAのUserForm代わりにデータの入力規則で入力制御する方法は?
データの入力規則でVBAのUserForm相当の入力制御を実現
VBAの帳票生成代わりにテンプレートファイル(.xltx)を使う方法は?
テンプレートファイル(.xltx)でVBAの帳票生成を代替
VBAのAuto_Open代わりにPower Automateでスケジュール実行する方法は?
Power AutomateでVBAのAuto_Open相当の自動実行を実現
VBAのOutlook連携代わりにPower AutomateでExcelに自動転記する方法は?
Power AutomateでVBAのOutlook連携を自動化
VBAのマクロ記録代わりにOffice Scriptsで操作を記録する方法は?
Office Scriptsの記録機能でVBAマクロ記録を代替
VBAの一括処理代わりにPower Automate+Office Scriptsで処理する方法は?
Power Automate+Office ScriptsでVBAの一括処理を自動化
スプシのQUERY関数をExcelで再現する方法は?
2021/365はFILTER+SORT、2016/2019はPower QueryでQUERYを再現
スプシのIMPORTHTMLをExcelで再現する方法は?
Power QueryのWebから機能でスプシのIMPORTHTMLを代替、2016以降対応
Google Apps ScriptとVBAの違いは?
Apps ScriptはJavaScriptベースでクラウド動作、VBAはVB由来でデスクトップ
VBAマクロをApps Scriptに移行する方法は?
VBAとApps Scriptの構文対応を理解して手動で書き換え
ExcelとスプシをPower AutomateやZapierで連携する方法は?
Power AutomateやZapierで両者のデータを自動同期可能