Excel作業をVBAで効率化

いつものExcel作業はVBAを使えば数秒で終わるかもしれませんよ

8桁日付やスラッシュ編集日付用のIsDate関数

IsDate関数はあいまいな日付も正常にしてしまう VBAの日付形式の文字列が正しい日付であるのかをチェックする関数にIsDate関数があります。 ただし、日付としてあいまいなものを正常とみなす点や時刻も正常とみなす点が […]

VBAのDate文字列で1桁月日の0埋め方法

1桁月日の変換 VBAで日付を扱う際に、月や日が1桁になることがあります。2020/1/8 とかですね。 これを0埋めして 2020/01/08 としたいことがあります。 対応方法にはFormat関数を利用する方法とRi […]

VBAの三項演算子(IIf関数)

VBAには三項演算子はないが代替関数がある VBAにも他の言語と同様に三項演算子があります。正確には演算子ではなくIIf関数で実現しています。このIIf関数ですが認知度がとても低いようです。 その理由の1つに書籍に書いて […]

VBAでスパークラインを利用する

スパークラインとは スパークラインとはExcel 2010で追加された機能です。セル内に表示するグラフのことで、折れ線、縦棒、勝敗の3種類があります。 折れ線と縦棒はセルの値を範囲内の相対でグラフ化されます。勝敗はセルの […]

ThisWorkBookとActiveWorkBookの違い

ThisWorkBookとActiveWorkBookの違い VBAでブックを参照する際に、「現在利用中のブック」を参照したいことがあります。そのときに、ThisWorkBookとActiveWorkBookのどちらを使 […]

VBAでシートの存在をチェックする

シートの存在チェック方法 VBAでシート関係の処理を行うことがあります。その際に、そのシートが存在しているのかチェックが必要な場合があります。チェック方法ですが、対象シート名のシートオブジェクトが取得できるかどうかで判定 […]

VBAで配列を連想配列Dictionaryに変換する

配列の検索は遅い ソートされていない配列から指定文字列を検索するには先頭もしくは最後から検索する必要があります。 この処理は線形探索のため、配列の要素数に比例して計算量が増えていきます。 そのため、配列サイズが大きければ […]

VBAで2次元配列の初期化と利用方法

VBAは多次元配列の利用が可能 VBAの配列では2次元の作成が可能です。また、3次元、4次元、と多次元配列も可能です。実際には2次元までが現実的なところと思われます。 3次元以降になってくると管理もデバッグも大変になって […]

VBAで定義可能な配列の最大次元数

配列の次元数には最大限度がある VBAでは多次元配列の利用が可能ですが、その次元数の最大には限度があります。以下のMicrosoftのヘルプでは「配列のすべての次元の長さは、(2 ^ 31) – 1 である […]

VBAでブックのシートを並べて表示する

ブックのシートを並べて表示 今開いているブックのシートを並べて比較したい場合があります。新と旧のシートを比較する場合などですね。 Excelの仕様上、シートだけを切り離して表示することはできないため、ブックを2つ用意する […]