No.1ベストアンサー
- 回答日時:
me!タブコントロール名.pages(me!タブコントロール名.value).name
で取得できました。
選択する場合は
me!タブコントロール名.pages(Index番号).setfocus
や
me!タブコントロール名.pages("ページ2").setfocus
で。
No.2
- 回答日時:
簡単なのは、ボタンの数だけイベントプロシージャを記述し、
すべてのボタンクリックから同じプロシージャを呼び出す方法かな。
コマンドボタンが1~4まであったとして、フォームのモジュールに
Private Sub コマンド1_Click()
msg
End Sub
Private Sub コマンド2_Click()
msg
End Sub
Private Sub コマンド3_Click()
msg
End Sub
Private Sub コマンド4_Click()
msg
End Sub
Sub msg()
MsgBox "現在アクティブなタブは" & Me.ActiveControl.Parent.Name & "です。"
End Sub
この方法は、ボタン(ページ)の数が増えるとその分だけ、イベントプロシージャの数が増えます。ボタン(ページ)の数が数個までならおすすめです。
ボタン(ページ)が非常に多い場合は、クラスモジュールを使った方が、コードが短くなります。
以下、クラスモジュールに記述、クラスモジュール名はClass1のままです。
Option Compare Database
Option Explicit
Private WithEvents clsCB As CommandButton
Private Sub clsCB_Click()
MsgBox "現在アクティブなタブは" & clsCB.Parent.Name & "です。"
End Sub
Public Property Get btn() As CommandButton
End Property
Public Property Let btn(NewBtn As CommandButton)
Set clsCB = NewBtn
clsCB.OnClick = "[Event Procedure]"
End Property
以下フォームモジュールに記述
Option Compare Database
Option Explicit
Dim cls() As Class2
Private Sub Form_Open(Cancel As Integer)
Dim c As Control
Dim i As Integer
For Each c In Me.Controls
If TypeName(c) = "CommandButton" Then
i = i + 1
ReDim Preserve cls(i)
Set cls(i) = New Class1
cls(i).btn = c
End If
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) Edge スクレイピング 3 2023/08/07 19:36
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- Excel(エクセル) 【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法 4 2022/12/08 20:53
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) フォーム上のリストボックスに重複して表示しています 3 2022/10/19 11:55
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
任意のタブのページをアクティブにするには
Access(アクセス)
-
-
4
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
5
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
6
Accessのフォームでタブの色
Access(アクセス)
-
7
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
8
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
9
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
10
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
11
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
12
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
13
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
14
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
15
サブフォームを非表示させる方法を教えて下さい
その他(Microsoft Office)
-
16
どこにもフォーカスを当てたくない
Access(アクセス)
-
17
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
18
ACCESSでコントロールソースの変更
Access(アクセス)
-
19
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
20
アクセスVBA フォームのスクロールバーを動かす。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Chrome】タスクマネージャー...
-
Edgeエラー
-
いつの間にか「新しいタブ」、...
-
Windows Media Player で「取り...
-
firefoxでいきなり勝手に新しい...
-
Edgeで新しいタブページがカス...
-
Chromeのタブ上でホイールクリ...
-
Access VBAでタブコントロール...
-
至急です!adobeのアンインスト...
-
【Google Chrome】「新しいタブ...
-
ファイアーフォックス ミュート...
-
Firefoxで新しいタブで開く
-
FireFoxが複数起動します
-
ルナスケープでタブが二個開い...
-
Firefoxで新しいウィンドウを現...
-
Firefoxで指定したページのみリ...
-
IE8で別ウインドウが開かない
-
Chrome 特定のサイトのタブを閉...
-
Firefox3 マウスジェスチャーに...
-
Google Chrome タブ複製時の「...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Chrome】タスクマネージャー...
-
いつの間にか「新しいタブ」、...
-
【Google Chrome】「新しいタブ...
-
Edgeで新しいタブページがカス...
-
Access VBAでタブコントロール...
-
現在アクティブなタブのページ...
-
Edgeエラー
-
ChromeでAdblockを使用すると、...
-
Windows Media Player で「取り...
-
ブラウザの戻るで元の位置に戻...
-
至急です!adobeのアンインスト...
-
Google chromeでクリックができ...
-
Microsoft Edge のウインドウの...
-
任意のタブのページをアクティ...
-
ブラウザアプリで、ブックマー...
-
【至急】パワーポイントで表の...
-
Wordの図形の書式タブが表示さ...
-
Chromeのタブ上でホイールクリ...
-
ワード表中での数値の微妙なず...
-
iPhoneのSafariでYahoo!を開く...
おすすめ情報