|
こんにちは。
▼Komo さん:
>フォームにオプションボタン1〜5を(「あ、い、う、え、お」)として、日程シートの
>シート名に「あ、い、う、え、お」として、コマンドボタン( CommandButton1_Click)で検索するようにしています。ブックは共にフォルダーに入れています。
▼ハッチ さん:
>Jakaさんの確認用を実行してみたところ、Komoさんと同じく
> "オプションボタンが1個も有りません。"
>という結果になっています。
たぶん、簡単な間違いだと思うんですが、シート上に
表示 → ツールバー → コントロールツールボックス(アクティブXコントロール)
のOptionButtonを使っていますか?
また、私の確認用コードは標準モジュールで良いです。
りんさんのコードで、Private Sub CommandButton1_Click()の方は、
シートのCommandButtonでも、ユーザーフォーム上のCommandButtonのどちらでからでも動きました。
また、実行時にOptionButtonが設置されているシートが、アクティブになっていますか?
今一歩、どういった状態で使用しているのか、OptionButtonの種類等が解らないので、リストボックスを使った物を作ってみました。
シート上に、アクティブXコントロールの「ListBox」1つ。
リスト作成用、シート選択用にアクティブXコントロールの「CommandButton」2つ。
が、"Sheet1"にあるとして、
下記コードは、ボタン等があるSheet1のシートモジュールに。
*************
Const 対象ブック名 As String = "Book1" '←対象ブック名に変更してください。
'シートリスト作成
Private Sub CommandButton1_Click()
Dim Wb As Workbook, Sh As Worksheet
For Each Wb In Workbooks
If Wb.Name = 対象ブック名 Then
With ThisWorkbook.Worksheets("Sheet1").OLEObjects("ListBox1").Object
.Clear
For Each Sh In Wb.Worksheets
.AddItem Sh.Name
Next
End With
Exit Sub
End If
Next
MsgBox 対象ブック名 & "が、開いてません。"
End Sub
'ブックとシート選択
Private Sub CommandButton2_Click()
Dim WB2 As Workbook, ShName As String
On Error Resume Next
Set WB2 = Workbooks(対象ブック名)
Err.Clear
On Error GoTo 0
If Not WB2 Is Nothing Then
With ThisWorkbook.Worksheets("Sheet1").OLEObjects("ListBox1").Object
If .ListIndex < 0 Then
Set WB2 = Nothing
Exit Sub
End If
ShName = .List(.ListIndex)
End With
Workbooks(対象ブック名).Sheets(ShName).Activate
ActiveWindow.WindowState = xlNormal
Set WB2 = Nothing
Exit Sub
End If
MsgBox 対象ブック名 & "が、開いてません。"
End Sub
|
|