|
▼Hirofumi さん:
>こんなのは、どうでしょう?
>上手いコードではないけど、データベースをいじって善いなら
>現在の日付をシリアル値(日付連番)に変換するマクロを作って見ました
>ただし、間違っているとまずいので、元のデータのコピーで
>以下のマクロを試して見て下さい
>使い方は、現在の日付の列のセルにセルポインタを置きます
>(用は、日付列のセルをクリックする)
>以下のマクロ、Testを実行します
>現在の日付の列の隣りに列が挿入され、そこにシリアル値(日付連番)が記入されます
>
>Public Sub Test()
>
> Dim lngDataTop As Long
> Dim lngDataEnd As Long
> Dim lngDataCol As Long
> Dim rngResult As Range
>
> lngDataCol = ActiveCell.Column
> lngDataTop = 2
> lngDataEnd = Cells(65536, lngDataCol).End(xlUp).Row
>
> Cells(lngDataTop, lngDataCol + 1).EntireColumn.Insert
> Set rngResult = Range(Cells(lngDataTop, lngDataCol + 1), _
> Cells(lngDataEnd, lngDataCol + 1))
> With rngResult
> .Formula = "=DATEVALUE(" & Cells(lngDataTop, _
> lngDataCol).Address(False, False) & ")"
> .NumberFormatLocal = "ggge""年""m""月""d""日"""
> .Value = .Value
> End With
> Set rngResult = Nothing
>
>End Sub
これは大変有効なものを教えていただきました・・・ありがとうございます。ただこのVBAの分が高度すぎてわたくしにはさっぱり・・・Dim lngDataTop As Long はなにを宣言してるのでしょうか?
|
|