2026-07-01から1ヶ月間の記事一覧
グループ化Shapeは、 内部の各子Shape・親グループShapeいずれから実行しても,、TopLeftCell/BottomRightCellはグループ全体の設置セルを返します。TopやHeightは正しく動くのでこちらをご利用ください。
指定の座標(ポイント)にあるセルを取得する方法を解説します。Top座標・Left座標から直接そのセルを取得する機能はありませんので、RangeオブジェクトのTop・Leftプロパティを取得して検索します。
図形の設置されたセルを調べるには、左上のセルはTopLeftCellプロパティ、右下のセルはBottomRightCellプロパティで取得できます。この2つをRangeプロパティに渡せばセル範囲を取得することができます。
数式を指定のシート/範囲だけ再計算する方法を解説します。Application・Worksheet・RangeのCalculateメソッドを使用することで、ブック、シート、範囲を指定して再計算を実行することができます。
ブックの計算が「手動」になっていてもブックの保存時に再計算が走るようになっています。この再計算を行ってほしくない場合は、Application.CalculateBeforeSaveプロパティにFalseを指定します。
VBAには処理の前後に書くだけでマクロを高速化できる「おまじない」のようなコードが存在します。その内容、マクロ実行中のExcel動き(描画や計算)を制限するApplication設定コード4選を解説します。
数式の計算を自動/手動に切り替えるにはApplication.CalculationにxlCalculationManual/Automaticを指定します。「手動」設定中に途中で一度再計算を挟みたい場合は、Calculateメソッドを使用して下さい。
マウスカーソルの描画を止めてマクロを軽くする方法を解説します。Application.Cursorプロパティを使用します。xlWaitで砂時計にすることでマクロを軽くすることができ、最後にxlDefaultに戻して使用します。
画面の描画を停止/再開するにはApplicationオブジェクトのScreenUpdatingプロパティにFalse/Trueを指定します。マクロの高速化に使用する際は、他3種の設定と同時に実行してください。
Worksheet_BeforeDoubleClickやWorksheet_Changeなど、 ユーザーの操作を検知して実行するマクロをイベントマクロと呼びます。この実行(検知)を停止させるには、Application.EnableEventsプロパティを使用します。
2026/7/11(土) 21:00~22:30 「スパゲティコード添削会」と称して、VBAの勉強会を開催します! 第7回課題共有会にて毎日信金さんが発表した、 「ドット絵プログレスバー」についてリファクタリングしていきます。お気軽にご視聴ください! ◇ 題材のVBA課題は…
マクロを簡単に高速化できる手法として、描画の停止・自動計算の停止・イベントマクロの停止・マウスカーソル描画の停止の4種類があります。この4つに実際どの程度の効果があるのかを検証してみましょう。
カテゴリや種別が設定されたデータにおいて、種別ごとに色分けを行うSelectCase文を書くことがあります。このコードをセル値と背景色の組から自動生成するマクロを紹介します。
カテゴリや種別が設定されたデータにおいて、種別ごとに色分けを行う場合は条件付き書式を利用することが多いです。この設定をセルの値と現在の背景色を読み取って自動で行うマクロを紹介します。