Excel : VBA100本ノック 試す

libreOffice のCalcで同じことを試したいと思います。そのために、Excelでの表示を確認するためにExcel_VBAも作り、おなじになるように試します。

007本目:日付表示

問題07:

#VBA100本ノック 7本目
A列は文字列データ(表示形式が文字列)で日付が入っています。
日付とみなされる場合はB列に月末日付をmmddの形式で出力してください。
日付け以外の場合は空欄にしてください。
例.B2は「0930」と出力する。
※何をもって日付とみなすかも含めて考えてください。

解答のVBAを実行すると、なんか左上に三角がつく

どうも、数値か文字列か紛らわしいときに表示されるようです。

本家サイトより、お借りしたVBAコード

Sub VBA07()
  Dim i As Long
  Dim d As Variant
  For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row

   ’シートの最終行から、データが有る行まで移動しその行ナンバー取得
    d = Replace(Cells(i, 1).Value, ".", "/")
    If IsDate(d) Then
      d = CDate(d)  '文字列や数値などを日付型 (Date) に変換します。
      Cells(i, 2) = Format(DateSerial(Year(d), Month(d) + 1, 0), "'mmdd")
    Else
      Cells(i, 2) = ""
    End If
  Next
End Sub

Calcで100本ノック:

コメント

タイトルとURLをコピーしました