VBAで高速にINIファイルから値を取得する 公開日:2018年11月4日 VBA GetPrivateProfileString関数は遅い INIファイルの取得にGetPrivateProfileString関数を使うことがあります。 ただ、GetPrivateProfileString関数にはいくつ […] 続きを読む
VBAでINIファイルの内容を取得する 公開日:2018年11月1日 VBA INIファイルとは VBAでも外部の設定ファイルを利用したい場合があります。その場合に利用される1つの方法がINIファイルです。 Microsoftは設定内容の保存はINIファイルではなくレジストリやXMLファイルを使う […] 続きを読む
VBAで姓名を姓と名に分ける 公開日:2018年10月21日 VBA 名前を分割するには たまに問い合わせフォームから頂く質問で何度か同じような質問がありました。 「名前を姓と名にわけて、それぞれ別のセルに設定するにはどうしたらよいですか?」 質問で多いのが、Split関数を使うところまで […] 続きを読む
VBAのIf文でインデントを深くしない方法 公開日:2018年10月7日 困ったとき インデントが深くなる理由 VBAに限らずどんなプログラミング言語でもよく見かけるのが深すぎるインデントです。深いインデントは見づらさだけでなく、バグの原因にもなるため、出来るだけ避けた方がよいです。 If文がどんどん深く […] 続きを読む
右端シートから左端、左端シートから右端へ移動する 公開日:2018年10月5日 シート シートの右端から左端へ、左端から右端へ移動 シートの移動にショートカットを利用されている方がおられると思います。 右のシートに移動する場合はCtrl + PageDown、左のシートに移動する場合はCtrl + Page […] 続きを読む
VBAで配列の全要素を連結して文字列にする(Join) 公開日:2018年10月1日 関数 Join Join関数は配列に格納されている文字列データを、指定した区切り文字で連結して、1つの文字列として返します。 例えば、配列の各要素の”aa”、”bb”、̶ […] 続きを読む
VBAで乱数を発生させる(Rnd、Randomize) 公開日:2018年9月30日 関数 Rnd、Randomize 乱数の発生にはRnd関数を使います。 Rnd関数は0以上1未満の範囲のSingle型の値を返します。Rnd関数はブックを開きなおす度に同じ乱数値が発生します。 それを防ぐにはRandomize […] 続きを読む
VBAで数値を16進数に変換する(Hex) 公開日:2018年9月27日 関数 Hex Hex関数は数値を16進数に変換し、文字列で返します。 数値が整数でない場合は、一番近い整数として扱われます。 Double型などの小数値を持つ値も変換できますが、後述の通り、小数値の扱いがわかりにくいため、He […] 続きを読む
VBAの時刻書式hhmmssとhhnnssはどちらが正しいか 公開日:2018年9月24日 困ったとき 年月日と時分秒の書式 Format関数などで日時の書式を表す場合に以下のようなコードを見ることがあります。 [crayon-68ed44a817bee238766441/] 「mm」が年月日の「月」と時分秒の「分」の両方 […] 続きを読む
VBAでWin32APIを使う方法と定義一式 公開日:2018年9月24日 関数 Win32APIの書き方を調べるには Win32APIを使うにはDeclareステートメントで対象の関数を定義する必要があります。 じゃあ、Declareステートメントで何を書けばいいのか、という話になります。初心者の方 […] 続きを読む