VBAで重複を除いた値の個数を調べる 更新日:2024年11月9日 公開日:2018年11月7日 VBA 同じ値は1つとカウントしたい場合 選択セル範囲などの一定の範囲内に複数のデータがある場合、重複している同じ値は1つとしてカウントしたい場合があります。 例えば、A,A,B,B,B,C,C,C、の8つのデータがある場合、重 […] 続きを読む
VBAで指定セル範囲からn番目の値を取得する 更新日:2024年11月9日 公開日:2018年11月6日 関数 ワークシート関数のLARGE関数とSMALL関数 指定セル範囲の最大値や最小値はMAX関数やMIN関数で求められます。 その最大値や最小値の次点以降の、上から2番目や下から3番目などの値はLARGE関数とSMALL関数で […] 続きを読む
VBAで高速にINIファイルから値を取得する 更新日:2024年11月9日 公開日:2018年11月4日 VBA GetPrivateProfileString関数は遅い INIファイルの取得にGetPrivateProfileString関数を使うことがあります。 ただ、GetPrivateProfileString関数にはいくつ […] 続きを読む
VBAでINIファイルの内容を取得する方法【GetPrivateProfileString関数の使い方】 更新日:2025年10月21日 公開日:2018年11月1日 VBA VBAで設定ファイルを扱いたいとき、INIファイルは最もシンプルで扱いやすい形式の一つです。本記事では、Win32 APIのGetPrivateProfileString関数を使ってINIファイルから設定値を取得する方法 […] 続きを読む
VBAで姓名を姓と名に分ける 更新日:2024年11月9日 公開日:2018年10月21日 VBA 名前を分割するには たまに問い合わせフォームから頂く質問で何度か同じような質問がありました。 「名前を姓と名にわけて、それぞれ別のセルに設定するにはどうしたらよいですか?」 質問で多いのが、Split関数を使うところまで […] 続きを読む
VBAのIf文でインデントを深くしない方法 更新日:2024年11月9日 公開日:2018年10月7日 困ったとき インデントが深くなる理由 VBAに限らずどんなプログラミング言語でもよく見かけるのが深すぎるインデントです。深いインデントは見づらさだけでなく、バグの原因にもなるため、出来るだけ避けた方がよいです。 If文がどんどん深く […] 続きを読む
右端シートから左端、左端シートから右端へ移動する 更新日:2024年11月9日 公開日:2018年10月5日 シート シートの右端から左端へ、左端から右端へ移動 シートの移動にショートカットを利用されている方がおられると思います。 右のシートに移動する場合はCtrl + PageDown、左のシートに移動する場合はCtrl + Page […] 続きを読む
VBAで配列の全要素を連結して文字列にする(Join) 更新日:2024年11月9日 公開日:2018年10月1日 関数 Join Join関数は配列に格納されている文字列データを、指定した区切り文字で連結して、1つの文字列として返します。 例えば、配列の各要素の”aa”、”bb”、̶ […] 続きを読む
VBAで乱数を発生させる(Rnd、Randomize) 更新日:2024年11月9日 公開日:2018年9月30日 関数 Rnd、Randomize 乱数の発生にはRnd関数を使います。 Rnd関数は0以上1未満の範囲のSingle型の値を返します。Rnd関数はブックを開きなおす度に同じ乱数値が発生します。 それを防ぐにはRandomize […] 続きを読む
VBAで数値を16進数に変換する(Hex) 更新日:2024年11月9日 公開日:2018年9月27日 関数 Hex Hex関数は数値を16進数に変換し、文字列で返します。 数値が整数でない場合は、一番近い整数として扱われます。 Double型などの小数値を持つ値も変換できますが、後述の通り、小数値の扱いがわかりにくいため、He […] 続きを読む