|
>そうあとこれさえ出来ればぜったいに完成します。どなたか上のVBA文に解説を・・・お願いします・・
こんな物で宜しいですか?
使い方は、変換したい列(現在の日付列)のセルを選択する
マクロを実行する
尚、マクロは標準モジュールに記述して下さい
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
'アクティブセルの右隣に1列追加
Cells(lngDataTop, lngDataCol + 1).EntireColumn.Insert
'結果を書き込む範囲を設定
Set rngResult = Range(Cells(lngDataTop, lngDataCol + 1), _
Cells(lngDataEnd, lngDataCol + 1))
'結果範囲について
With rngResult
'結果範囲にDATEVALUEワークシト関数を書き込む
.Formula = "=DATEVALUE(" & Cells(lngDataTop, _
lngDataCol).Address(False, False) & ")"
'結果範囲に日付の書式を設定(元号)
.NumberFormatLocal = "ggge""年""m""月""d""日"""
'結果範囲のワークシト関数を値に変換
.Value = .Value
End With
'結果範囲の参照を消去
Set rngResult = Nothing
End Sub
|
|