VBAでオブジェクト変数の宣言とNewを1行で書いてよいか 公開日:2018年1月21日 困ったとき オブジェクト変数のNewは1行でも書けるし2行に分けても書ける FileSystemObjectクラスやRegExpクラスなどVBAでクラスを利用することがあります。 そのときに、オブジェクト変数(クラスのインスタンス変 […] 続きを読む
VBAで全ての括弧内の文字列を抽出する 公開日:2018年1月18日 文字列 正規表現で括弧内の文字列を抽出 文字列にある括弧内の文字のみを抽出する方法にはいくつか考えられます。 文字列の左から1文字ずつ判定して、左括弧を見つけてから右括弧があるまでを取得する、というのが素直な方法です。しかし、こ […] 続きを読む
VBAでシート名を一括変換する 公開日:2018年1月17日 シート シートが多い場合はシート名の変更が面倒 シートが多いブック、ありますよね。で、そういうブックに限ってシート名がいまいちだったりします。 左から順に「1.xxx」「2.xxx」と連番が振ってある。途中にシートを追加した場合 […] 続きを読む
VBAエラー28対応方法(スタック領域が不足しています) 公開日:2018年1月16日 エラー エラー28内容 エラー28(スタック領域が不足しています)は関数の呼び出し順序を覚えられない状態に陥ったことを表しています。 関数の呼び出し順序を記憶しているのがスタック領域です。 ほとんどの場合はプログラムの修正が必要 […] 続きを読む
VBAで選択セルの開始から終了に矢印オートシェイプを引く 公開日:2018年1月12日 VBA 矢印オートシェイプは調整が面倒 Excelで資料を作成する際に、ここからここへ、という明示をするために矢印のオートシェイプを使うことがあります。 こんな感じで表形式の左から右へ、みたいな感じとかですね。実はこの矢印は後述 […] 続きを読む
VBAで二次元配列のデータを高速にセルへ貼り付ける 公開日:2018年1月8日 VBA 二次元配列のデータをセルに高速で貼り付ける方法 データをセルに貼り付け、と聞くとすぐに思いつくのは各データをカンマで区切ったCSVファイルです。 ただ、CSVファイルから直接セルに貼り付けようとすると1セルずつ処理するこ […] 続きを読む
配列の要素数を取得する(UBound、LBound) 公開日:2018年1月8日 関数 UBound、LBound UBound関数は配列の要素番号の最大値を取得し、LBound関数は最小値を取得できます。このとき取得する値は要素番号であり、要素数とは異なります。 上の絵は最小番号は0、最大番号は2、要素数 […] 続きを読む
VBAでCSVファイルをジャグ配列に格納する 公開日:2018年1月7日 VBA CSVファイルをジャグ配列(配列の配列)に変換する CSVファイルの内容をジャグ配列に変換する関数を紹介します。 ジャグ配列とは、以下のように1次元配列(親配列)の各要素に別の配列(子配列)が格納されている状態の配列を言 […] 続きを読む
VBAでCSVファイルを二次元配列に格納する 公開日:2018年1月6日 VBA CSVファイルを二次元配列に変換する CSVファイルの内容を二次元配列に変換する関数を紹介します。 二次元配列の他にも連想配列のDictinaryクラスやジャグ配列(配列に配列を入れる仕組み)を使う方法もあります。二次元 […] 続きを読む
VBAでテキストファイルの行数を取得する 公開日:2018年1月4日 ファイル テキストファイルの行数が必要な理由 VBAでテキストファイルやCSVファイルなどを扱う際に、そのファイルの行数を知りたいことがあります。 その理由には大きく3つあります。 単純に行数を知りたいため。 Excelの最大行数 […] 続きを読む