
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も見ています
-
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
任意のタブのページをアクティブにするには
Access(アクセス)
-
-
4
Accessのフォームでタブの色
Access(アクセス)
-
5
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
6
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
7
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
8
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
9
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
10
どこにもフォーカスを当てたくない
Access(アクセス)
-
11
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
12
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
13
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
14
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
15
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
16
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
17
アクセスVBA フォームのスクロールバーを動かす。
Visual Basic(VBA)
-
18
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
19
フォーム上の全てのコントロールを取得したい
Access(アクセス)
-
20
スクロールバーをVBAで操作したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Chrome】タスクマネージャー...
-
Edgeで新しいタブページがカス...
-
Wordの図形の書式タブが表示さ...
-
Access VBAでタブコントロール...
-
新しいタブについて
-
Eclipseでソースを縦に2つ表示...
-
【Google Chrome】「新しいタブ...
-
ワード表中での数値の微妙なず...
-
現在アクティブなタブのページ...
-
インターネット・エクスプロー...
-
Google chromeでクリックができ...
-
【Chrome拡張機能】サイト自動...
-
Windows Media Player で「取り...
-
windowsでgooglechromeを開いた...
-
ファイアーフォックス ミュート...
-
chromeをFirefoxのようなタブ表...
-
GoogleChromeで日本語にしたい...
-
Windows10のタスクバーのプレビ...
-
Googleからページを開くと新し...
-
opera 初歩の質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Chrome】タスクマネージャー...
-
Edgeで新しいタブページがカス...
-
Access VBAでタブコントロール...
-
Wordの図形の書式タブが表示さ...
-
ファイアーフォックス ミュート...
-
windowsでgooglechromeを開いた...
-
【Google Chrome】「新しいタブ...
-
Chromeのタブ上でホイールクリ...
-
新しいタブについて
-
【至急】パワーポイントで表の...
-
現在アクティブなタブのページ...
-
Windows Media Player で「取り...
-
ChromeでAdblockを使用すると、...
-
Google chromeでクリックができ...
-
Google Chromeのブラウザ(PC)...
-
いつの間にか「新しいタブ」、...
-
ブラウザアプリで、ブックマー...
-
勝手にchromeウェブストアが開...
-
chromeのタブに文字が表示されない
-
任意のタブのページをアクティ...
おすすめ情報