ExcelVBAについて質問します、宜しくお願いします。
UserForm にいろいろなコントロールが有るのですが。
「質問-1」
・下記の様なプログラムで、読んでくるコントロールの順番は何で決まるのですか?
・TabIndexで決まる様でもない様ですが。
For Each MyControl In Me.Controls
char = MyControl.Name
・・・・・・・
Next
「質問-2」
LabelコントロールはTabIndexまたはTabStopは無効なのでしょうか?
No.3ベストアンサー
- 回答日時:
それなら、
コンボボックスのオブジェクト名は「"Comb" + 連番」
テキストボックスのオブジェクト名は「"Text" + 連番」
という風に規則を作っておいてこんなコードを書けば良いです。
無駄なコントロールをループで回さなくて済みますし。
Sub Test()
Dim cnt As Integer
'コンボボックスのチェック
For cnt = 1 To 2
With Me.Controls("Comb" & cnt)
If .Value = "" Then
.SetFocus
MsgBox "未入力です。", vbExclamation + vbOKOnly
Exit Sub
End If
End With
Next
'テキストボックスのチェック
For cnt = 1 To 2
With Me.Controls("Text" & cnt)
If .Value = "" Then
.SetFocus
MsgBox "未入力です。", vbExclamation + vbOKOnly
Exit Sub
End If
End With
Next
MsgBox "入力されていました。", vbInformation + vbOKOnly
End Sub
ありがとうございます。
私のこだわりがあったようです。
(1)For Each...Nextにこだわった
(2)プログラムの行数を出来るだけ短くしたかった
(3)「"Comb入金"」...「"Text金額"」様な形でプログラムを組んで来た
今回もありがとうございました。
No.2
- 回答日時:
>(1)ユーザフォームにデザインモードで追加した順
>これは、コントロールの配置をそのままで自由に後から変更出来ないのでしょうか?
はい。
少なくともExcel2002と2003では変えられないです。
2007以降は分かりません。
(XML形式なら何とかなるんだろうか?)
>もし出来ないとすれば、初めから考えて配置しなければならないという事ですか
いえ、普通はそんなもの意識しませんよ。
ループの中で取得できるコントロールの順番が決まっていないとダメ、という理由があるのでしょうか?
この回答への補足
回答ありがとうございました。
>ループの中で取得できるコントロールの順番が決まっていないとダメ、という理由があるのでしょうか?
フォーム上の数多くのコントロールの中で
(1)コンボボックス2個とテキストボツクス4個の入力の有無と値の確認をする。
(2)その順番をComb1→Comb1→Text1→Text2・・・・とする
こんな理由で、前記の様なコーテイングをしました。
今回の様な目的を満たす、良い方法が有りましたらお聞かせ下さい。
No.1
- 回答日時:
>「質問-1」
(1)ユーザフォームにデザインモードで追加した順
(2)ユーザフォームのInitializeイベントで追加した順
(3)「(1)」も「(2)」も両方ある場合は「(1)→(2)」の順
>「質問-2」
はい。無効です。
Labelですから。
この回答への補足
回答ありがとうございます。
・プログラムで全てのコントロールのプロパテイを読んだ時、エラーが出たので疑問に思いました
・「質問-2」は承知しました。
「質問-1」についてもう少しお願いします。
(1)ユーザフォームにデザインモードで追加した順
これは、コントロールの配置をそのままで自由に後から変更出来ないのでしょうか?
もし出来ないとすれば、初めから考えて配置しなければならないという事ですか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS VS.NETのコードを色合いも含めてHtmlに貼り付けたい。 1 2023/02/02 14:15
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- Ruby VBA 2 2023/01/14 14:14
- Visual Basic(VBA) FileSearch2007に変わる構文について 1 2022/12/16 16:57
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- PHP 掲示板を資料を参考にして開発中ですが、画像がアップされません? 1 2022/11/21 06:44
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
Vba 実数および実数タイプの変...
-
エクセルVBAについて
-
ユーザーフォームに別シートか...
-
VB.net(VB)で、フォームにExcel...
-
Excelのマクロについて教えてく...
-
エクセルの合計を自動で表示さ...
-
Excelのマクロでワードのテキス...
-
VBAの計算で@が出てしまう件
-
VBA listBoxから
-
エクセルのマクロについて教え...
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
左右の表のキー位置を合わせたい
-
VBAの質問になります メッセー...
-
Excel マクロについての相談
-
VBA レジストリの値の読み方に...
-
2つのマクロでチェックボックス...
-
Vba SelStart、SelLen教えてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報