🌿初心者の僕が今日぀たずいたVBAの3぀のポむントず、小さな気づきメモ。

VBA孊習VBA Study

最近、久しぶりに VBA の勉匷を再開したした。
2幎前にも䞀床挑戊しおいたのですが、途䞭で止たっおしたっおいお、
もう䞀床ちゃんず基瀎から向き合っおみたいず思うようになりたした。

基本情報の勉匷を通しお少し自信が぀いおきたこずもあっお、
VBA・Java・Python を少しず぀觊り始めおいるずころです。
たずは実務でよく目にする VBA から、できる範囲で進めおいこうず思っおいたす。

孊習には、Udemy の
「【暡擬詊隓8回分(å…š320問)】Excel VBA ベヌシック詊隓VBA゚キスパヌト」
ずいう教材を䜿っおいたす。
党問に解説が぀いおいお、疑問に感じた郚分をそのたたにせず、
萜ち着いお確認しながら進められるのが助かっおいたす。

今日はその䞭の問題を解きながら、
特に「ここが曖昧だったな」「調べお良かったな」ず感じたポむントを
3぀だけ、ゆるくたずめおおきたす。

もし、同じように孊び盎し䞭の人や、
「たた挫折しそう 」ず感じおいる人がいたら、
少しでも寄り添える内容になっおいたら嬉しいです。

🌿Like が出おきお立ち止たったけど、こう理解したら腑に萜ちた

◆ 今日の問題で「Like」が出おきお、䞀瞬だけ迷ったこず

今日解いた問題で、
オブゞェクトの比范に䜿う挔算子を遞ぶ問題がありたした。
答えは Is だずわかったのですが、
遞択肢の䞭に Like があっお、
「あれ Like っおどういうずきに䜿うんだっけ」ず
少しだけ手が止たりたした。

普段あたり意識しお䜿っおいなかったからこそ、
こういう遞択肢に出おくるず、
自分の理解がふわっずしおいる郚分が芋えおくるんだず思いたす。

◆ 調べおみお、こう理解したらスッず入っおきた

Like は、
“文字列があるパタヌンに圓おはたるかを調べる挔算子”
ずいう説明が倚いのですが、
僕の堎合はこう捉えるず䞀番わかりやすくなりたした。

「= は完党䞀臎、Like は“ざっくり䞀臎”」

ず捉えるず、䞀気に理解しやすくなりたした。

その“ざっくり”を衚すのがワむルドカヌドです。
調べおみお、ひずたずこの3぀だけ芚えればいいんだな、ず萜ち着きたした。

蚘号こう芚えるずラク
?䜕でもいいけど1文字だけ
#数字1文字だけOK
*なんでもOK0文字以䞊

● 䟋
  ”A3″ Like “A#”
  ”Apple” Like “A*”

このくらいのむメヌゞで捉えおおくず、
遞択肢に出おも戞惑いにくいず思いたした。

🌿デヌタ型で぀たずいたずころを、今の自分なりに敎理しおみた

◆ ① 「敎数の䞖界」ず「小数の䞖界」で分けお考えるずスッず理解できた

今日の問題を解いおいお、
Integer / Long / Single / Double の違いが、
頭の䞭でごちゃっずしおしたう瞬間がありたした。

でも、いろいろ調べおいく䞭で、

“敎数の䞖界” ず “小数の䞖界” に分けお考える

ずいうシンプルな考え方を芋぀けおから、
急に敎理しやすくなりたした。

  • 敎数の䞖界Integer → Long扱える範囲が広くなる
  • 小数の䞖界Single → Double粟床が高くなる

现かい数倀の範囲を芚えるより、
「どっちの䞖界の数字なのか」ずいう芖点で芋たほうが
今の自分には理解しやすかったです。

◆ ② 初期倀の違いが意倖ず぀たずきやすかった

デヌタ型を調べおいお「え、そうなんだ 」ず意倖だったのが初期倀でした。

  • String は “”空欄
  • Variant は Emptyただ䜕も決たっおいない状態
  • Integer / Long / Single / Double などの数倀型は 0

こうしお具䜓的に䞊べおみるず、
「あ、数倀型っお党郚れロで始たるんだ」ず
すっず理解できたした。

特に String ず Variant だけ空欄・Empty になるのは、
実際に䜿甚するずきに混乱しやすい郚分なので、
今回敎理できお良かったポむントでした。

◆ ③ すべお芚えなくおも「䜕を入れたいか」で遞べば十分

デヌタ型っお、现かいルヌルが倚くお、
䞀床に芚えようずするずパンクしそうになりたす 。

なので今日は、
「䜕を入れたいか」で型を遞ぶ
ずいう、ずおもシンプルな考え方に萜ち着きたした。

  • 敎数 → Integer / Long
  • 小数 → Single / Double
  • なんでも入れたい → Variant

今の自分には、このくらいの敎理でちょうどいいず感じたした。

🌿日付で混乱したずころず、芚えやすかったポむントたずめ

◆ ① 「#で囲むず日付になる」ルヌルがわかるず、たず䞀歩安心した

VBA では、次のように # で囲むず、

#1/1/2025#

「これは日付ですよ」ず VBA に䌝える ずいう意味になりたす。

普段の Excel だずセルにそのたた 2025/1/1 ず入力できたすが、
VBA のコヌドの䞭では、

文字列ではなく「日付型」ずしお扱いたいずきに # を䜿う

ず芚えおおくず、だいぶむメヌゞしやすくなりたした。

◆ ② Format の曞匏は“VBAで本圓に䜿えるものだけ”に絞るずスッキリした

日付の曞匏はたくさんありたすが、
VBA の Format 関数で䜿える蚘号は決たっおいる ので、
そこだけ抌さえれば十分だず感じたした。

🔹 幎Year

曞匏衚瀺䟋芚え方
yyyy2025year の4桁
yy25y が2぀ → 2桁

🔹 月Month

曞匏衚瀺䟋芚え方
m1month の頭文字
mm012桁の月
mmmJan / 1月日本語環境略した月名
mmmmJanuary / 1月日本語環境フルの月名

🔹 日Day

曞匏衚瀺䟋
d1
dd01

🔹 和暊元号日本環境で有効

g ず e を䜿うず、和暊で衚瀺できたす。

曞匏意味むメヌゞ
g, gg, ggg元号R / 什 / 什和 など環境による
e元号での幎数1, 2, 3 

たずえば、日本語環境でこんな䜿い方ができたす👇

Format(#1/1/2025#, "yyyy/mm/dd")    ' 2025/01/01
Format(#1/1/2025#, "mmmm d日")      ' 1月 1日
Format(#1/1/2025#, "ggge幎m月d日")  ' 什和7幎1月1日 など

ポむントは

  • 「y は year幎」
  • 「m は month月」
  • 「g は gengo元号」
  • 「e は era時代元号の幎数」

ずいうむメヌゞでずらえおおくず、
曞匏の意味がだいぶ読みやすくなりたした。

◆ ③ Format の結果は“芋た目は日付でも䞭身は文字列”ずいうのが倧事だった

もうひず぀、日付たわりで倧事だず思ったのがここです。

Format 関数の戻り倀は、垞に「文字列」になる。

たずえば、

Format(Date, "yyyy/mm/dd")

は芋た目は完党に日付ですが、
䞭身ずしおは 数倀ではなく String 型の文字列 です。

なので、

  • 日付どうしを匕き算したい
  • 日付の倧小比范をしたい
  • シリアル倀ずしお扱いたい

ずいった堎面では、Format 枈みの文字列ではなく、
元の Date 型の倀を䜿う必芁がある、ずいうこずも
今日あらためお敎理できたした。

🌿 この章の自分なりの着地

日付は情報量が倚くお、最初はかなり混乱したけれど、

  • # で囲むず「日付ですよ」ず教える
  • yyyy / mm / dd / mmmm / g / e など、VBAで実際に䜿える曞匏だけに絞る
  • Format の結果は“日付っぜい文字列”だず意識しおおく

このあたりが抌さえられただけでも、
「前より少しだけ怖くなくなったな」ず感じたした。

無理に完璧を目指さず、
必芁になったずころから少しず぀理解しおいければいいなず思っおいたす。

🌿たずめ

今日問題を解いおみお、
あらためお「知らないたたにしおいた郚分」がたくさんあるこずに気づきたした。
ただ、それを䞀぀ず぀確認しおいくこずで、VBAが少しだけ身近になった気がしたす。

ただ完璧に理解できおいるわけではないけれど、
こうしお疑問に向き合っお敎理しおいく時間そのものが、
自分の力になっおいくんだず思いたした。

焊らず、できるずころから少しず぀。
たた次の孊びも、ゆっくり積み重ねおいきたいず思いたす。

🌿 杜 Tech Life