エクセルVBAのMsgBox関数で項目1と項目2の値を表示して
問題なければデータベースに登録するといったコードを作りたいです。
今のところ以下のような感じです。
MsgBox("項目1" & 項目1.Value & vbCrLf & "項目2" & 項目2 & vbCrLf &
"以上の内容で登録してよろしいですか?", 36 + 256, "確認,")
これでは
項目1XXXX (XXXX 項目1の値)
項目2XXXX (XXXX 項目2の値)
以上の内容で登録してよろしいですか?
のように表示され、項目1と項目1の値の間にスペースがないため
見栄えが悪いです。そこでスペースを表示して、尚且つ項目1の値と
項目2の値を右端を揃えて表示したいのですが、文字数が不定なので
スペースを決まった数入力すれば解決するということではありません。
誰かVBAに詳しい方、ご教授願えませんでしょうか。
No.1ベストアンサー
- 回答日時:
MSGBOXには「右寄せ」の指定はありませんし、そもそも表示フォントも
システムフォント指定でプロポーショナルフォントですから、ブランク
を入れて文字位置を合わせるなんてことも出来ません。
(まあ、全角文字を指定してRIGHT/LEFT関数を駆使すれば、それっぽく
なることはなりますが・・・)
ということで、表示位置をしっかり合わせたいなら、表示専用にフォーム
を作って、テキストボックスのプロパティを使うしかないと思います。
No.3
- 回答日時:
こんにちは。
VB系のプログラミングで、右揃えというのは数字だけだと思います。質問内容が、読み分からないです。
通常、MsgBox は、左揃えです。スペースも半角・全角入ります。
Test2 は、数字を想定して右揃えになっています。
なお、この部分は気をつけてください。最大桁を入れてください。
Dim a As String * 10 '最大桁数 10
フォントは、ツール--オプションで設定しますが、通常、MS ゴシックで、プロポーショナルにはしていないという条件です。
'左揃え
Sub Test1()
Dim ret As VbMsgBoxResult
Dim 項目1 As Variant
Dim 項目2 As Variant
Set 項目1 = Cells(1, 1)
Set 項目2 = Cells(2, 1)
ret = MsgBox("項目1: " & 項目1.Value & vbCrLf & _
"項目2: " & 項目2 & vbCrLf & _
"以上の内容で登録してよろしいですか?", vbQuestion + vbYesNo, "確認,")
If ret = vbNo Then Exit Sub
End Sub
'右揃え
Sub Test2()
Dim ret As VbMsgBoxResult
Dim 項目1 As Range
Dim 項目2 As Range
Dim a As String * 10 '最大桁数 10
Dim b As String * 10
Set 項目1 = Cells(1, 1)
Set 項目2 = Cells(2, 1)
RSet a = Format(項目1.Value, "#,##0")
RSet b = Format(項目2.Value, "#,##0")
ret = MsgBox("項目1:" & a & vbCrLf & _
"項目2:" & b & vbCrLf & _
"以上の内容で登録してよろしいですか?", vbQuestion + vbYesNo, "確認,")
If ret = vbNo Then Exit Sub
End Sub
No.2
- 回答日時:
>値を右端を揃えて表示したいのですが、
頭に0を付けても良いならFORMAT関数で可能です。
それ以外なら結構面倒かも・・・・。
MsgBox("項目1 = " & 項目1.Value & vbLf & "項目2 = " & 項目2 & vbLf &
"以上の内容で登録してよろしいですか?", 36 + 256, "確認,")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- Excel(エクセル) MSさん、シッカリしてよ~んッ! 3 2023/01/30 13:15
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
- Excel(エクセル) バイナリー演算を勉強したい 1 2023/04/19 14:17
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- ノートパソコン Realtek high definition audio driverが消える 2 2023/05/23 01:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
BIOSでAHCIに設定したいが、項...
-
APN設定について教えていただけ...
-
エクセルVBAで5行目からオート...
-
Accessレポートで特定条件で改...
-
PC-98でHDDに複数OSを入れる...
-
第2正規化と第3正規化の違い
-
Access テキスト型に対する指定...
-
セルの右クリックで出る項目を...
-
mac スクショ
-
他テーブルで一致する列から名...
-
accessで最小公倍数を求める
-
必須入力項目と入力必須項目
-
エクセルグラフの凡例スペース
-
アンドロイド おサイフケータイ...
-
Excelで空白以外の値がある列の...
-
PhoenixBIOSの設定について
-
SELECT文でLEFT関数を使うと未...
-
MSアクセスクエリにて連番でID...
-
iTunesの曲順が逆なのは直りま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
Excelで空白以外の値がある列の...
-
エクセルグラフの凡例スペース
-
ORACLEでLONG項目からCHAR項目...
-
VBAで複数の数式セルを最終行ま...
-
SUBSTRING 関数に渡した長さの...
-
Accessで数値型にNULLをInsert...
-
DBのタイプの指定とサイズにつ...
-
セルの右クリックで出る項目を...
-
BIOSでAHCIに設定したいが、項...
-
空白をそのままインポートする...
-
APN設定について教えていただけ...
-
複数のレコードを1つのレコード...
-
Accessレポートで特定条件で改...
-
必須入力項目と入力必須項目
-
Joy To Keyのマウスやキーボー...
-
2行目を表示できますか?
おすすめ情報