Excel VBA質問箱 IV

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

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


8383 / 13644 ツリー ←次へ | 前へ→

【33605】シートを選択したか、判断する ch 06/1/16(月) 16:04 質問[未読]
【33608】Re:シートを選択したか、判断する inoue 06/1/16(月) 16:47 発言[未読]
【33609】Re:シートを選択したか、判断する Jaka 06/1/16(月) 17:05 発言[未読]
【33612】Re:シートを選択したか、判断する awu 06/1/16(月) 17:27 回答[未読]
【33619】Re:シートを選択したか、判断する やっちん 06/1/16(月) 20:58 発言[未読]

【33605】シートを選択したか、判断する
質問  ch  - 06/1/16(月) 16:04 -

引用なし
パスワード
   シートが何枚もあります。
マクロを実行する時に、
メッセージボックスで「シートを選択してください」とメッセージをだし
その後、回答者がシートを選択し、そのシートに対してのみマクロを実行させたい場合
回答者がシートを選択したか、判定することはできますか?
※シートを選択=シート名タブをクリック

【33608】Re:シートを選択したか、判断する
発言  inoue E-MAILWEB  - 06/1/16(月) 16:47 -

引用なし
パスワード
   >回答者がシートを選択したか、判定することはできますか?
逆に「どのシートも選択されていない」とはどのような状態でしょうか。
Excelの場合は開いただけでもどれかのシートがアクティブですが。

【33609】Re:シートを選択したか、判断する
発言  Jaka  - 06/1/16(月) 17:05 -

引用なし
パスワード
   ▼ch さん:
>その後、回答者がシートを選択し、そのシートに対してのみマクロを実行させたい場合
>回答者がシートを選択したか、判定することはできますか?
回答者が自分でシートを選択したかどうかを自分で判定するのでしょうか?
意味がよくわかんないけど...。

  Dim ShNamw As Range
  On Error Resume Next
  Set ShName = Application.InputBox(Prompt:="〇〇シートのセル(どこで良い)を選択して下さい。", _
              Title:="シートの選択", Type:=8)
  
  If ShName Is Nothing Then
    MsgBox "NG"
    End
  End If
  On Error GoTo 0
  ShAd = ShName.Address(External:=True)
  ShSt = Mid$(ShAd, InStr(1, ShAd, "]") + 1)
  ShSt = Left$(ShSt, InStr(1, ShSt, "!") - 1)
  MsgBox ShSt

【33612】Re:シートを選択したか、判断する
回答  awu  - 06/1/16(月) 17:27 -

引用なし
パスワード
   シート名のチェックは必要なく、とにかくシートを変更したかどうかですか。

下記コードは、10秒間、アクティブシートを変更したかどうかをチェックします。

目的が良く分りませんが、こんな感じでいいのかな?


Sub test()
Dim ShName As String
Dim Limit As Date
ShName = ActiveSheet.Name
MsgBox "シートを選択してください"
Limit = Now + TimeValue("00:00:10")
Do While ShName = ActiveSheet.Name
  DoEvents
  If Now > Limit Then Exit Do
Loop
If ShName <> ActiveSheet.Name Then
  MsgBox "シートが変更されました。"
Else
  MsgBox "シートが変更されていません。"
End If
End Sub

【33619】Re:シートを選択したか、判断する
発言  やっちん  - 06/1/16(月) 20:58 -

引用なし
パスワード
   ▼ch さん:
シートが切り替えられてすぐ実行されるのであれば、
シート名の一覧でも出して選択させてもよいのでは?

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