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

テキストボックスに入力した数字、例(50)をドル単位と小数点以下($50.00)転記させたいのですがどのようなコードにすれば可能でしょうか?
Cells(i, 8).Value = Me.TextBox3

A 回答 (9件)

回答内容は不明なのですが、だいぶいろんな方からの回答が付いている感じでしょうかね。



一般的に行けばセルの書式設定をしておけば済む感じですが、それを避けているのか?それをしてダメなのかにもよるでしょう。
避ける理由は都合の問題なのでこちらも避けざるを得ませんが、やっててダメと言うのならその8番目の列に対し後から全体に向け書式設定変更を行なったりはされてませんか?

もしそうであるとしたら先に全体に対し書式設定変更を行い、その後この部分のコードを含むループ内にて個別に書式設定変更を行うとか?

With Cells(i, 8)
.NumberFormatLocal = "$0.00"
.Value = Me.TextBox3.Value
End With

既に回答が出ているようでしたらごめんなさい。
またもしダメなら・・・以下同文。
    • good
    • 1
この回答へのお礼

このご提示していただいたコードで一発解決しましたありがとうございました

お礼日時:2022/11/11 09:34

>流石に全部提示するのは抵抗を感じますのですみません


承知ました。
Cells(i, 8)のセルを仮にH3として話を整理すると、
①H3のセルの書式設定は通貨になっている。
②H3セルに直接50と入力すると$50.00と表示される。
③フォーム上のテキストボックスに50と入力しH3に転記すると、H3には50と表示される。
④その後、H3セルの書式設定を確認すると①と同じ状態である。

上記の①、②、③、④で間違いないでしょうか。
そうだとすると、これ以上は私では解決できません。
ギブアップになります。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2022/11/11 09:33

考えられるのは


Cells(i, 8).Value = Me.TextBox3.Value 以外の箇所に
問題があるか、Cells(i, 8)の書式設定がおかしいかのどちらかです。

Cells(i, 8)の書式設定は正しいとのことなので、
Cells(i, 8).Value = Me.TextBox3.Value以外の箇所に問題があると思われます。
マクロ全体を提示していただけませんでしょうか。
そうすれば、何かわかるかもしれません。

(最も手っ取り早いのは、そのマクロを含んだexcelのブックをNo3で提示したようなどこかのサイトにアップしていただくことです。それを回答者がダウンロードしてチェックすれば原因が特定しやすくなります)
    • good
    • 0
この回答へのお礼

流石に全部提示するのは抵抗を感じますのですみません

お礼日時:2022/11/10 22:15

>頂いたエクセルで①は$50.00と表示はしましたが


>UserForm作成して②を実行するのですか?

はい。そもそもの質問が、そのような前提かと思います。
UserForm作成して②を実行しても、
$50.00と表示されないのでしょうか。
具体的に何が表示されますか。

念のため確認ですが、
Cells(i, 8).Value = Me.TextBox3.Value
を実行したとき、iはいくつになっていますか。
例として iが3なら3行目、8列のセル(H3)ですが、
確認したセルの位置はあってますか。
    • good
    • 0
この回答へのお礼

Formは作成してあります
そのほかは指定したセルに転記できています
転記した数字の表示が上手くいかないのです
>具体的に何が表示されますか。
50と入力したのでそのまま50です
書式設定をしてありますが50と表示されます
なのでコードに問題があるのかなと思いここでの質問は
コードを知りたいのです
色々ネット上で検索して追加しても何か違うようで上手くいきません
>例として iが3なら3行目、8列のセル(H3)ですが、
確認したセルの位置はあってますか。
はい、あっています

お礼日時:2022/11/10 20:51

>その数値をセルに転記するときの話です


>この設定は最初にやっています

その設定が行われているなら、テキストボックスに50と表示されていれば
Cells(i, 8).Value = Me.TextBox3.Value
を実行すると、該当セルに$50.00と表示されるはずです。

①直接セルに50と打ち込んだ場合
②テキストボックスに50と入力し、
Cells(i, 8).Value = Me.TextBox3.Value を実行した場合

それぞれ上記の①、②を実行すると結果はどうなるのでしょうか。
(該当セルにどうのような値が表示されるのでしょうか)
    • good
    • 0
この回答へのお礼

>Cells(i, 8).Value = Me.TextBox3.Value
を実行すると、該当セルに$50.00と表示されるはずです。
表示しないからここで質問しています
頂いたエクセルで①は$50.00と表示はしましたが
UserForm作成して②を実行するのですか?

お礼日時:2022/11/10 20:11

回答が不明なので解決してたらスル~っと流してくださいね。



この質問においてのテキストボックス入力とセルの値表示に、 ( ) は関係ありますか?
とちょっと気になっただけです。
    • good
    • 0
この回答へのお礼

テキストボックスには数字のみ入力します()は質問上で入れただけです
(;^_^A 逆に分かりにくくしてすみません

お礼日時:2022/11/10 20:06

>それもやってるんですがどうしても反映されないんですよ・・・



下記URLにbook1.xlsxをアップしました。
sheet1のB列に、NO2の書式設定を施してあります。
https://firestorage.jp/download/f4b298603972bfe1 …

ダウンロードして以下を確認してください。
Sheet1のB列に、NO2の書式設定を施してあります。
B列の空いたセルに20と入力すると$20.00と表示されます。
上記確認後、そのセルを右クリックしてセルの書式設定を表示してください。No2の書式設定の通りになっていることを確認してください。
「テキストボックスで入力」の回答画像3
    • good
    • 0
この回答へのお礼

いや、その入力方法ではないんです
userfoam使ってテキストボックスに入力して
その数値をセルに転記するときの話です
この設定は最初にやっています

お礼日時:2022/11/10 18:05

>自分で手入力$50.00ではなく数字だけ入れて(50)転記されたときに$と小数点以下追加されたいのですが



書式設定でできます。
添付図のように表示したいセルを選択し、書式設定をひょうじしてください。
表示形式で通貨を選択
記号で$を選択
小数点以下桁数を2桁にして、OKをクリックします。
そうすると
50のセルが$50.00に表示されます。
「テキストボックスで入力」の回答画像2
    • good
    • 0
この回答へのお礼

それもやってるんですがどうしても反映されないんですよ・・・

お礼日時:2022/11/10 16:09

iの値が不明ですが、それがきちんと管理されているなら


Cells(i, 8).Value = Me.TextBox3.Value
で良いとおもいます。
    • good
    • 0
この回答へのお礼

自分で手入力$50.00ではなく数字だけ入れて(50)転記されたときに$と小数点以下追加されたいのですが

お礼日時:2022/11/10 09:08

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