- ベストアンサー
Excel 2000 のマクロで、日付や文字列を変換する方法について
Excel 2000 のマクロを使用して、以下のようなことをしようとしているの ですが、方法がよく分かりません。 1.日付タイプのセルに「2008/8/2」と入力されている日付を、数値タイプの 「20020802」に変換したい。 2.文字列タイプのセルに「横浜市西区1-2-3ABCホームズ」と入力されている 文字列を「横浜市西区1-2-3ABCホームズ」に変換したい。 (半角を全角に変換したい) よろしくお願いします。
- みんなの回答 (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
その他の回答 (1)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 1."日付タイプのセル"というのは、書式が日付のセルという意味ですか。そのセルに"20020802"を入れたら、"#######"になってしまいますよ。 それとも、書式設定自体も変更したいのでしょうか。 ちなみに、別のセルに変換結果を表示するなら、マクロじゃなくて、関数で出来るんですけどね。 1.「=YEAR(A1)*10000+MONTH(A1)*100+DAY(A1)」 2.「=JIS(A1)」 やっぱり、マクロでそのセル自体を書き換えたいのでしょうか。
補足
早急のご回答ありがとうございます。 1."日付タイプのセル"というのは、書式が日付のセルという意味ですか。 >>はい、そういう意味です。 それとも、書式設定自体も変更したいのでしょうか。 >>はい、変更したいです。 やっぱり、マクロでそのセル自体を書き換えたいのでしょうか。 >>はい、データとして残したいので・・・
お礼
ありがとうございました。おかげで助かりました。