Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9104 / 13646 ツリー ←次へ | 前へ→

【29327】選択状態にある複数シートの情報を取得するには flows 05/10/1(土) 5:02 質問[未読]
【29328】Re:選択状態にある複数シートの情報を取得... だるま 05/10/1(土) 8:09 回答[未読]
【29330】Re:選択状態にある複数シートの情報を取得... かみちゃん 05/10/1(土) 8:14 回答[未読]
【29335】Re:選択状態にある複数シートの情報を取得... flows 05/10/1(土) 14:21 お礼[未読]

【29327】選択状態にある複数シートの情報を取得す...
質問  flows  - 05/10/1(土) 5:02 -

引用なし
パスワード
   選択状態にある複数シートの情報を取得する方法ってありますか?

例えば、Sheet1とSheet3を選択している状態でマクロを実行すると

"現在選択しているシートの名称はSheet1とSheet3である"

といったメッセージボックスを出すようなコーディングをしようと思っているのですがうまく行きません。

何かよい方法を知っていたら教えて下さい。

【29328】Re:選択状態にある複数シートの情報を取...
回答  だるま WEB  - 05/10/1(土) 8:09 -

引用なし
パスワード
   こんな感じでしょうか。^d^

Sub test()
  Dim Sh As Object
  Dim S As String
  
  For Each Sh In ActiveWindow.SelectedSheets
    If S = "" Then
      S = Sh.Name
    Else
      S = S & ", " & Sh.Name
    End If
  Next
  
  MsgBox S & " が選択されています。"
End Sub

【29330】Re:選択状態にある複数シートの情報を取...
回答  かみちゃん  - 05/10/1(土) 8:14 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>選択状態にある複数シートの情報を取得する方法ってありますか?
>例えば、Sheet1とSheet3を選択している状態でマクロを実行すると
>"現在選択しているシートの名称はSheet1とSheet3である"
>といったメッセージボックスを出すようなコーディングをしようと思っているのですがうまく行きません。

SelectedSheetsプロパティのヘルプを確認してみてください。
だるまさんからもコメントが出ていますが、私も書いたので、せっかくなので、ア
ップしときます。(内容は、だるまさんとたいして変わりません(^^;)

Sub Macro1()
 Dim strMsg As String
 Dim ws As Worksheet
  
 strMsg = "現在選択しているシートの名称は"
 For Each ws In ActiveWindow.SelectedSheets
  strMsg = strMsg & ws.Name & "と"
 Next
 strMsg = Left(strMsg, Len(strMsg) - 1) & "である"
 MsgBox strMsg
End Sub

【29335】Re:選択状態にある複数シートの情報を取...
お礼  flows  - 05/10/1(土) 14:21 -

引用なし
パスワード
   だるまさん、かみちゃんさん
ありがとうございます。
まさに希望通りの動きができました。

Excel.ActiveWindow.SelectedSheets

だったんですね。

Excel.Selection, .Sheets, .ActiveWorkbook

辺りで探していたんで、道理で見つからないはずでした。
多謝です。

9104 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free