• ベストアンサー

Excel 2000 のマクロで、日付や文字列を変換する方法について

Excel 2000 のマクロを使用して、以下のようなことをしようとしているの ですが、方法がよく分かりません。 1.日付タイプのセルに「2008/8/2」と入力されている日付を、数値タイプの   「20020802」に変換したい。 2.文字列タイプのセルに「横浜市西区1-2-3ABCホームズ」と入力されている   文字列を「横浜市西区1-2-3ABCホームズ」に変換したい。   (半角を全角に変換したい) よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

再びmaruru01です。 とりあえず1つのセルを変換するコードです。 複数セルの場合は適当にループを回して下さい。 1.日付→数値 Sub Macro1()   Dim DateVal As Date   Dim LngVal As Long   DateVal = Cells(1, 1)   LngVal = Year(DateVal) * 10000 + Month(DateVal) * 100 + Day(DateVal)   Cells(1, 1).Select   Selection.NumberFormatLocal = "0"   Selection.Value = LngVal End Sub 2.半角→全角 Sub Macro2()   Dim temp As String   temp = Cells(1, 2)   temp = StrConv(temp, vbWide)   Cells(1, 2).Value = temp End Sub

jfaoifjoajfja
質問者

お礼

ありがとうございました。おかげで助かりました。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 1."日付タイプのセル"というのは、書式が日付のセルという意味ですか。そのセルに"20020802"を入れたら、"#######"になってしまいますよ。 それとも、書式設定自体も変更したいのでしょうか。 ちなみに、別のセルに変換結果を表示するなら、マクロじゃなくて、関数で出来るんですけどね。 1.「=YEAR(A1)*10000+MONTH(A1)*100+DAY(A1)」 2.「=JIS(A1)」 やっぱり、マクロでそのセル自体を書き換えたいのでしょうか。

jfaoifjoajfja
質問者

補足

早急のご回答ありがとうございます。 1."日付タイプのセル"というのは、書式が日付のセルという意味ですか。 >>はい、そういう意味です。 それとも、書式設定自体も変更したいのでしょうか。 >>はい、変更したいです。 やっぱり、マクロでそのセル自体を書き換えたいのでしょうか。 >>はい、データとして残したいので・・・

関連するQ&A