プロが教える店舗&オフィスのセキュリティ対策術

エクセルマクロで、セルに入力された数値を、
変換するマクロを以下のように作成したのですが、
もっと簡単な方法はないのでしょうか。

やりたいことは、
「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

A 回答 (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
と言うのもある。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/31 15:22

Format関数を使えばどうでしょうか。



With ActiveCell
If .Value >= 1 And .Value <= 9 Then
MsgBox Format(.Value, "00")
End If
End With
    • good
    • 2
この回答へのお礼

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

お礼日時:2009/07/31 15:20

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


これでいかがでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/31 14:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A