
エクセル97です。
ワークシート上にテキストボックス、コンボボックス、オプションボタン、ラベルが配置されています。
すべて、ツールバーのフォームから出したものです。
これら全部の数をもとめるには
Sub TEST()
Dim x As Integer
x = ActiveSheet.Shape.Count
MsgBox x
End Sub
これで出てきますし、テキストボックスならshapesをTextboxes、ラベルならLabelsに変えればいいのですが、オプションボタンやコンボボックスの場合、どう変えれば良いのかわかりません。教えてください。特にオプションボタンは数が多くて困っています。
No.2ベストアンサー
- 回答日時:
#1です。
すみません。ワークシートに普通の図形があると、エラーになりますね。修正しました。
Sub test2()
For Each obj In ActiveSheet.Shapes
If obj.Type = msoFormControl Then
Select Case obj.FormControlType
Case xlButtonControl
b = b + 1
Case xlCheckBox
c = c + 1
Case xlDropDown
g = g + 1
Case xlOptionButton
o = o + 1
End Select
End If
Next obj
MsgBox "ボタン " & b & Chr(13) & _
"チェックボックス " & c & Chr(13) & _
"コンボ(ドロップダウン)ボックス " & g & Chr(13) & _
"オプションボタン " & o
End Sub
No.3
- 回答日時:
オプションボタンは、
x = ActiveSheet.OptionButtons.Count
コンボボックスは、
x = ActiveSheet.DropDowns.Count
で如何でしょうか。
これらは、隠しオブジェクトですね。
なお、提示のコードで
x = ActiveSheet.Shape.Count は、
x = ActiveSheet.Shapes.Count でないでしょうか。
> 提示のコードで
> x = ActiveSheet.Shape.Count は、
> x = ActiveSheet.Shapes.Count でないでしょうか。
すみません、その通りです。
ありがとうございました。
No.1
- 回答日時:
こんなかんじでしょうか。
詳しくは、FormControlTypeのヘルプをご覧ください。
Sub test()
For Each obj In ActiveSheet.Shapes
Select Case obj.FormControlType
Case xlButtonControl
b = b + 1
Case xlCheckBox
c = c + 1
Case xlDropDown
g = g + 1
Case xlOptionButton
o = o + 1
End Select
Next obj
MsgBox "ボタン " & b & Chr(13) & _
"チェックボックス " & c & Chr(13) & _
"コンボ(ドロップダウン)ボックス " & g & Chr(13) & _
"オプションボタン " & o
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
エクセルVBAでOptionButtonのオンオフ取得
Excel(エクセル)
-
-
4
フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ
Visual Basic(VBA)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
7
Excelシート上のオプションボタンを監視
Excel(エクセル)
-
8
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
9
【エクセル】オプションボタンにセルの値を反映させるには
Visual Basic(VBA)
-
10
エクセルで、チェックボックスにチェックをいれた行のデータのみを別シートに転記するには
Excel(エクセル)
-
11
コンボボックスの名前を変数にしたい。
Visual Basic(VBA)
-
12
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
13
【マクロ】名前を保存する際に、同じファイルがあった場合に、メッセージを表示
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UPS警告音を止めたい
-
EXCELのマクロが 実行時エラー5...
-
Excelシート上のマクロを登録し...
-
日報の休日ボタン(トグルボタ...
-
フレーム内のオプションボタン...
-
エクセルの画面にユーザーフォ...
-
エクセルの×ボタンを消したい
-
エクセルのユーザーフォームの...
-
【Excel VBA】マクロボタンを表...
-
accessのオプションボタン
-
コンボボックスウィザードが出...
-
Excel ラジオボタンのリセット...
-
Excelで、ボタンにコメントをつ...
-
アクセスのイベントプロシージ...
-
エクセルでグループボックスを...
-
パナソニックKX-PW22CLHの電話...
-
複数シートのボタンに同一の動...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
CloseとDisposeの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UPS警告音を止めたい
-
Excelシート上のマクロを登録し...
-
エクセルの画面にユーザーフォ...
-
EXCELのマクロが 実行時エラー5...
-
【Excel VBA】マクロボタンを表...
-
マクロを登録しているボタンが...
-
マクロで作ったボタンのサイズ...
-
フォームコントロールから作っ...
-
入力済み、選択したセルに連動...
-
Excelで、ボタンにコメントをつ...
-
エクセルで、オプションボタン...
-
Accessのフォームでタブの色
-
複数シートのボタンに同一の動...
-
ユーザーフォームをショートカ...
-
VBAでクリアボタンのみ残してシ...
-
マクロ初心者です。 msgboxのre...
-
EXCELの塗りつぶしのボタ...
-
Excel ラジオボタンのリセット...
-
エクセルでマクロボタンを押す...
-
excel スクロールしても常にボ...
おすすめ情報