• ベストアンサー

エクセルマクロで「1」を「01」に変換したい

エクセルマクロで、セルに入力された数値を、 変換するマクロを以下のように作成したのですが、 もっと簡単な方法はないのでしょうか。 やりたいことは、 「1」で入力された値を「01」に変換することです。 よろしくお願いします。 c = Sheets("Sheet1").Cells(1, 1).Value If c = 1 Then c = "01" ElseIf c = 2 Then c = "02" ElseIf b = 3 Then c = "03" ElseIf c = 4 Then c = "04" ElseIf c = 5 Then c = "05" ElseIf c = 6 Then c = "06" ElseIf c = 7 Then c = "07" ElseIf c = 8 Then c = "08" ElseIf c = 9 Then c = "09" End If

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

Format関数を使えばどうでしょうか。 With ActiveCell If .Value >= 1 And .Value <= 9 Then MsgBox Format(.Value, "00") End If End With

smorgas030
質問者

お礼

ありがとうございます。 Format関数を使うのですね。 解決しました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

初心者らしく、 (1)表示形式で、そう見せればよいのか (2)セルの値を01(従って文字列になる) をしたいのかはっきり質問に、書けてない。 (2)だとすると、 (A)Format関数利用 が普通だが (B)特殊な方法で 3桁の例 Sub test01() a = 32 s = "000" Mid(s, Len(s) - Len(a) + 1, Len(a)) = Trim(Str(a)) MsgBox s End Sub と言うのもある。

smorgas030
質問者

お礼

ありがとうございます。 Format関数を使うのですね。 解決しました。

  • 00toshi00
  • ベストアンサー率45% (22/48)
回答No.1

マクロは使いませんが、セルの書式設定で「表示形式」で「ユーザー定義」を選び、「種類」の下の欄を消して「0#」と入力。 これでいかがでしょうか?

smorgas030
質問者

お礼

回答ありがとうございます。 説明不足で申し訳ありません。 セルの表示は「1」のままでいいのですが、 マクロで実行させる際に 「1」を「01」として処理させたいと思っています。 よろしくお願いします。

関連するQ&A