Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【VBAスタンダードに挑戦!】StrConv/DateSerial/IsDate

【VBAスタンダードに挑戦!】

f:id:tuna-kichi:20200614200940p:plain

 

模擬試験で間違えた問題の復習です。

 

 

StrConv

・全角、半角を変換する

・StrConv(元の文字列, 変換する文字種)
 StrConv(Range("A1"), vbWide)・・・セルA1 を全角に変換する
 StrConv(Range("A1"), vbNarrow)・・・セルA1 を半角に変換する

・すべて半角(全角)に変換し元のデータと比較して、
 同じであれば、そのセルはすべて半角(全角)である と判断できる

 

※vbWide, vbNarrow は覚えていたけど、StConv は覚えていなかった・・・

 

 

DateSerial 関数

・シート上で「2020」と記載されていても Excel はその数字が、
 年なのか、数値なのか、金額なのか判断できない。
 年と判断させるために DateSerial 関数が使用できる

・DateSerial(年, 月, 日)

DateSerialで数字を日付に変える

 

Range("E3") = DateSerial(Range("B3"), Range("C3"), Range("D3"))

 

・For Next を使う場合

 Dim r As Long
 For r = 3 To 5
  Cells(r, 5) = DateSerial(Cells(r, 2), Cells(r, 3), Cells(r, 4))
 Next r

 

 

 

IsDate 関数

・指定した引数が日付かどうか判定する

・True / False を返す

・MsgBox IsDate(Range("D2").Value)

 

                     

なぜ間違えた?

・テキストを読んだだけでは覚えられなかった

・使ったことがないから覚えていなかった

・簡単だ! と思った

・問題をよく読まなかった
 (Small の設問で「〇番目に小さい」と書いてあったのに
 「上から〇番目」と読み間違えた)

 

どうしたら覚えられる?

・実際にマクロを書いて、動きを見る

・テキストを毎日読み返す

・呪文のように いつもつぶやいてみる(???)

                     

 

学生時代の時と同じようなやり方をしても、覚えられない。

学生時代は勉強できなかったし、しなかったし・・・

 

結局やることは同じでも、何か、どこかを変化させて、

記憶に残りやすい方法を探してみる。

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/