ユーザーフォーム添付画像で単位が「円」の時「価格」の数値を桁区切り小数点以下2位としたいのですがどのようにしたらよいでしょうか?単位「円」でない時は「ドル」の選択になります。
1対になっているエクセルシートでは以下としています。
Dim rng As Range
For Each rng In Range("H4", Cells(Rows.Count, 8).End(xlUp))
With rng
If .Offset(, 1).Value = "円" Then
.NumberFormatLocal = "#,##0.00_ ;[赤]-#,##0.00 "
End If
End With
Next rng
宜しく御願いします。
No.1ベストアンサー
- 回答日時:
ユーザーフォームの話ですから、本来は、ユーザーフォームについて書いていただかないと分かりません。
画像から、
価格 単位
***** ******
のそれぞれのオブジェクトの名称がありませんが、
価格の方がTextBox で、単位の方が ComboBox でしょうか?
現状のままでは、肝心な部分が抜けています。円は、USDと等価ではありませんから、ComboBox で表示を変えたら、その価格も変わらなくてはなりません。円価格を基調としているなら、レートで換算しなくてはなりません。USDを基調としているなら、円に変えた時に、それに換算しなければなりませんが、四捨五入などしていたら、元値段がわからなくなってしまいます。
以下は、そうした考慮はまったくなされていません。
単に表示だけの処理です。
'//
Private Sub UserForm_Initialize()
ComboBox1.List = Array(, "円", "USD")
End Sub
Private Sub ComboBox1_Change()
Dim idx As Long
idx = ComboBox1.ListIndex
If Val(TextBox1.Value) > 0 Then
TextBox1.Value = FormatChange(TextBox1.Value, idx)
End If
End Sub
Function FormatChange(ByVal str_val As String, idx As Long)
Dim pValue As Double
If IsNumeric(str_val) Then
pValue = CDbl(str_val)
Else
Exit Function
End If
Select Case idx
Case 1
FormatChange = Format$(pValue, "#,##0") '円
Case 2
FormatChange = Format$(pValue, "#,##0.00") '$
Case Else
FormatChange = Format$(pValue, "#,##0.00")
End Select
End Function
Private Sub TextBox1_Enter()
TextBox1.Value = FormatChange(TextBox1.Value, ComboBox1.ListIndex)
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = FormatChange(TextBox1.Value, ComboBox1.ListIndex)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 1 2022/04/29 02:36
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Lとcc(車の排気量)
-
「414百万円」って、何円ですか?
-
長さの単位であるAの上に丸がつ...
-
Wordで何cmとか指定をしたい...
-
キロ立法メートル?それとも、...
-
1リットルは何ミリリットル?
-
文章の中での数量単位の表示で...
-
比重計算を教えてください
-
単位法線ベクトルの問題なんで...
-
音素と分節素について
-
EXCELで軸の目盛り間隔を途中か...
-
0に横に線が一本で何と読むでし...
-
一円単位切上げとは?
-
金額の単位が違ったときの簡単...
-
単位変換についての質問です。
-
dl(デシリットル)は何に使う...
-
えんぴつはなぜ1ダースという...
-
100円単位を切り上げ
-
30cc 50ccは
-
白米 1 しょう は 約 何キ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Lとcc(車の排気量)
-
長さの単位であるAの上に丸がつ...
-
Wordで何cmとか指定をしたい...
-
100円単位を切り上げ
-
一円単位切上げとは?
-
比重計算を教えてください
-
「414百万円」って、何円ですか?
-
10μgとは、mgに換算すると何mg...
-
10円未満切り上げ
-
1升って何リットル?
-
g/m2 、gsm は何ミリのこ...
-
診断書が必要!!
-
0に横に線が一本で何と読むでし...
-
単位読み方kg/cm2
-
【数学】rpmとmin-1の違いって...
-
売り上げが900百万円
-
大きな桁の数字が読めないです
-
単位法線ベクトルの問題なんで...
-
栄養成分表にugという単位
-
1リットルは何ミリリットル?
おすすめ情報