Excel作業をVBAで効率化

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

VBAで重複を除いた値の個数を調べる

同じ値は1つとカウントしたい場合 選択セル範囲などの一定の範囲内に複数のデータがある場合、重複している同じ値は1つとしてカウントしたい場合があります。 例えば、A,A,B,B,B,C,C,C、の8つのデータがある場合、重 […]

VBAで指定セル範囲からn番目の値を取得する

ワークシート関数のLARGE関数とSMALL関数 指定セル範囲の最大値や最小値はMAX関数やMIN関数で求められます。 その最大値や最小値の次点以降の、上から2番目や下から3番目などの値はLARGE関数とSMALL関数で […]

VBAで姓名を姓と名に分ける

名前を分割するには たまに問い合わせフォームから頂く質問で何度か同じような質問がありました。 「名前を姓と名にわけて、それぞれ別のセルに設定するにはどうしたらよいですか?」 質問で多いのが、Split関数を使うところまで […]

VBAのIf文でインデントを深くしない方法

インデントが深くなる理由 VBAに限らずどんなプログラミング言語でもよく見かけるのが深すぎるインデントです。深いインデントは見づらさだけでなく、バグの原因にもなるため、出来るだけ避けた方がよいです。 If文がどんどん深く […]

VBAで乱数を発生させる(Rnd、Randomize)

Rnd、Randomize 乱数の発生にはRnd関数を使います。 Rnd関数は0以上1未満の範囲のSingle型の値を返します。Rnd関数はブックを開きなおす度に同じ乱数値が発生します。 それを防ぐにはRandomize […]

VBAで数値を16進数に変換する(Hex)

Hex Hex関数は数値を16進数に変換し、文字列で返します。 数値が整数でない場合は、一番近い整数として扱われます。 Double型などの小数値を持つ値も変換できますが、後述の通り、小数値の扱いがわかりにくいため、He […]