• ベストアンサー

セル内の数値を少数以下の桁数指定を生かしたまま文字列として取り出したい

VBA にて、セル内の数値の後に単位としての文字を付加して文字列として再度同じセルに入れたいのですが、うまく行きません。 例えば、少数以下3桁の数値の後に単位を付加して、1.234Vのように表示したいのですが、1.000など少数以下の数値がゼロの場合は1Vとなってしまいます。 同様に1.100は1.1Vとなります。 少数以下の桁数を数値によらず所定の桁数にする方法はありませんか。 因みに使用した式は  Moji = Range("C3").Value & "V" Range("C3").Value = Moji です。 "C3" の書式は数値の少数以下桁数を3桁としています。

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

  • ベストアンサー
noname#22222
noname#22222
回答No.2

? Format(Range("a1"), "0.000V") 1.100V でもOKか?

eagle-birdie
質問者

お礼

No.1 の方の回答でもうまく行きましたが、No.2 さんの方法はさらに簡潔になりました。 どうもありがとうございました。

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Moji = format(Range("C3").Value ,"0.000") & "V"

eagle-birdie
質問者

お礼

ご回答の式を使って試してみたところ、たちまち出来てしまいました。 随分考えたのですが、意外と簡単に解決してしまいました。 ありがとうございました。 

関連するQ&A

  • EXCEL 桁数を合わせた数値型セルの結合

    EXCELでのセル操作に関して下記のような結果を求めたいのですが、どういう関数なり操作を行えばいいのでしょうか? よろしくお願いします。 セルA(数値型) 123 セルB(数値型) 89 → セルC 12300089 セルA(数値型) 4567 セルB(数値型) 765 → セルC 456700765 ※セルBの部分を5桁扱いにしてセルCを完成させたいのです。 セルBの桁数が何桁になってもうまくいく方法を 教えてください。よろしくお願いします。

  • エクセルで桁数の分からない数値を右から1数値ずつ抜き出したい

    エクセルで教えて下さい!! 桁数の分からない数値があります。 12345を他のセルに1数値づつ抜き出したい。 桁数が分かっていれば簡単なのですが… 桁数が分からない為その12345が入っていたセルには123456と6桁入る場合もあります。 RIGHTなら右から2文字とか3文字とか抜き出しますが…1つのセルに1つの数字を抜き出したいのです。 RIGHTなら1番右1文字は抜き出せても12345が入っている場合、2番目の4の数値を1文字だけ抜き出す事って不可能ですよね。(45を1つのセルに抜き出す事になります) 説明下手で申し訳ないですが(~_~;)分かれば教えて下さい宜しくお願いします!!ヽ(^o^)丿

  • 少数桁の指定

    VBでテキストボックスに入力された数値を使った計算結果をラベルに表示するといったことをしているのですが、そのときに少数桁をそろえたいのですが、どうすればいいのでしょうか? 例えば、答えが『0.5』の場合、『0.5000』といったように少数点以下の桁数を全ての答えでそろえたいのです。 何か関数があった気がするのですが、VBの本を読んでもわかりませんでした。 よろしくお願いします。

  • VBA セルの値13が数値だったり文字列だったり

    セルに入った「13」が数値の場合でも文字列の場合でも処理出来る方法はありませんか? 例えば If Range("A1").Value=13 Then 処理 Endif セルの値が文字列"13"の場合、同じと認識してくれません。 いい方法はないでしょうか?

  • midステートメント セルを指定したい

    エクセルなのですが、 Sub N文字目を置換する1() Dim N As Long Range("a1").Value = "abcde" N = 2 '置換する文字の位置 ’start(省略不可) Mid(Range("a1").Value, N) = "X" MsgBox Range("a1").Value End Sub このように、セルを指定することはできないのでしょうか? このコードを実行しようとすると、 Mid(Range("a1").Value, N) = "X"の部分で「変数が必要です」とコンパイルエラーになります。 Sub N文字目を置換する2() Dim moji As String Dim N As Long Range("a1").Value = "abcde" moji = Range("a1").Value N = 2 Mid(moji, N) = "X" MsgBox moji End Sub このように、セルの値を一度変数に入れると問題なく実行できますが、 なぜダイレクトにmidステートメントでセルを指定できないのかわからないので教えてください。 よろしくお願いします。

  • セル指定の文字列を、直接ではなく変数にしたい。

    ExcelのVBEなのですが、以下のようなコードがあります。 If Range("c_Reporter").Value = "" Then   <省略> Range("c_Reporter").Activate EndIf c_Reporterという名前のセルの値を見て、このセルに操作を行うのですが、セルの名前をいちいち書くのが面倒です。 たとえば、以下のようにセル名を格納した変数を使いまわしたいのですが、エラーになってしまいます。何か指定の方法があったように思うのですが、オンラインヘルプで探せませんでした。 Dim sTargetCell As String sTargetCell="c_Reporter" If Range(sTargetCell).Value = "" Then   <省略> Range(sTargetCell).Activate EndIf このような変数の遣い方のやり方を教えてください。 また、もっとスマートなやり方でも結構です。

  • Excel 1つのセルに入力された文字列(数値)を 最初の2桁は、次の

    Excel 1つのセルに入力された文字列(数値)を 最初の2桁は、次の3桁はなど別々のセルにその数値を張るつけることは可能でしょうか??c=232

  • エクセル(2000)のセルから指定桁数を抽出(VBAor関数)

    エクセルのセルにある文字列から、半角単位で後ろから数えた桁数(スペースを含む10桁)だけをとりだして、別のセルに移したいのですが、 例えば、 セルA1に「あいうえおかきくけこ__123456」を B1に「こ__123456」としたい。 条件として *セルの後ろから数えた10桁 *スペースも含む *データのはいているセルは、1000行から2000行ぐらい よろしくお願い致します。 Win2000、Office2000

  • VBAで数値を文字列にして入力したい

    Range("A" & X).Value = Year(Date) Range("B" & X).Value = Right("0" & Month(Date), 2) このVBAでは セルの書式指定で文字列にしても 文字列の指定を外すと数値に戻ります。 でも、文字列の設定を外したら 数値に戻らないものもあり ピボットテーブルで集計した時に 同じ「2013」が2種類存在してしまいます。 どうしたらいいですか?

  • VBAで文字列を数値に変換したい

    A列とE列の文字列になってしまった数値を 数値に変換したく、以下のようなものを作ったのですが、 文字の無いセルまで、数値に変換しようとするので 時間がかなりかかります。 何かよい方法は無いでしょうか? よろしくお願いいたします。 Sub 数値に変換() Range("A:A,E:E").Select For Each xCell In Selection xCell.Value = xCell.Value Next xCell End Sub 使用ソフトEXCEL2000orEXCEL2003

専門家に質問してみよう