和風スパゲティのレシピ

日本語でコーディングするExcelVBA

グループ内図形のTopLeftCellはグループ全体の左上を取得する

グループ化Shapeは、 内部の各子Shape・親グループShapeいずれから実行しても,、TopLeftCell/BottomRightCellはグループ全体の設置セルを返します。TopやHeightは正しく動くのでこちらをご利用ください。

指定の座標(ポイント)にあるセルを取得する

指定の座標(ポイント)にあるセルを取得する方法を解説します。Top座標・Left座標から直接そのセルを取得する機能はありませんので、RangeオブジェクトのTop・Leftプロパティを取得して検索します。

図形(Shape)が設置されたセルを取得する - TopLeftCell/BottomRightCell

図形の設置されたセルを調べるには、左上のセルはTopLeftCellプロパティ、右下のセルはBottomRightCellプロパティで取得できます。この2つをRangeプロパティに渡せばセル範囲を取得することができます。

数式を指定のシート/範囲だけ再計算する - Calculate

数式を指定のシート/範囲だけ再計算する方法を解説します。Application・Worksheet・RangeのCalculateメソッドを使用することで、ブック、シート、範囲を指定して再計算を実行することができます。

ブック保存時に再計算を行わない設定にする - CalculateBeforeSave

ブックの計算が「手動」になっていてもブックの保存時に再計算が走るようになっています。この再計算を行ってほしくない場合は、Application.CalculateBeforeSaveプロパティにFalseを指定します。

マクロを高速化する基本設定4選 - Application

VBAには処理の前後に書くだけでマクロを高速化できる「おまじない」のようなコードが存在します。その内容、マクロ実行中のExcel動き(描画や計算)を制限するApplication設定コード4選を解説します。

数式の計算を自動/手動に設定する - Calculation

数式の計算を自動/手動に切り替えるにはApplication.CalculationにxlCalculationManual/Automaticを指定します。「手動」設定中に途中で一度再計算を挟みたい場合は、Calculateメソッドを使用して下さい。