プロが教えるわが家の防犯対策術!

いつもお世話になります

先日、WindFaller さんに教えてもらった件

Public Sub GetWindows()
'ウィンドウ選択
 If Workbooks.Count > 1 Then
  Application.Dialogs(xlDialogActivate).Show
 End If
End Sub

Public Sub SheetListOpen()
'シート一覧
 Application.CommandBars("Workbook tabs").ShowPopup
End Sub

初めてのステートメントで試しに標準モジュールで使ってみました
GetWindowsの動きはすぐ出来たのでので良かったのですが
CommandBarsのステートメントとどう連動させるのかよく分かりません

単純にSheetListOpenを動かすと引数の不正エラーになってしまいます

WindFallerさん、すみません
もう少し詳しく教えて頂けますか

いつも、ありがとうございます
よろしくお願い申し上げます

A 回答 (1件)

こんばんは。



まず、こちらは、Excel 2013 で動かしています。

>単純にSheetListOpenを動かすと引数の不正エラーになってしまいます

よくわかりません。
 Application.CommandBars("Workbook tabs").ShowPopup
   ||
Application.CommandBars(34).ShowPopup
と同じ意味です。試してみてください。
一度、これでオブジェクトを変数に出して、プロパティから、名称等を確認したほうがよいでしょう。もしかしたら、変わってしまっているかもしれません。

>CommandBarsのステートメントとどう連動させるのかよく分かりません
GetWindows とは特別に連動はしていません。

SheetListOopen は、最初でブックを選んで、その後に、ActiveWindow のシートの一覧を出し、そこから特定のシートを選ぶという仕組みです。

前回、一気にそのシートに飛ぶようなスタイルをご所望のようでしたが、実際に私が使っているものを紹介したまでで、ご希望とは若干異なるのではないかと思ったしだいです。

もし、ボップアップの場所を特定させるなら、このようになります。
画面左下の方に出てきます。

Public Sub SheetListOpen()
'シート一覧
Dim y As Double
  y = Application.ActiveWindow.Height - 20
  Application.CommandBars("Workbook tabs").ShowPopup 10, y
End Sub

おそらくは、ブックを選んで、その次にリストボックスが、それに合わせてシート一覧が出るということも考えられないことではないのですが、それを二分しても同じことではないかと思いました。
    • good
    • 0
この回答へのお礼

いつもお世話になります

申し訳ございません
エラーの件は私の入力ミスでした
シートの出力、出来ました。

今回の分も合わせて、いつもお力添えに感謝しています
これからもよろしくお願い申し上げます

お礼日時:2017/11/14 10:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています