|
▼ヤマトダマシイ さん:
>▼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 はなにを宣言してるのでしょうか?
そうあとこれさえ出来ればぜったいに完成します。どなたか上のVBA文に解説を・・・お願いします・・
|
|