過去ログ

                                Page     210
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼チェックボックスで指定したシートを複数選択するには?  よち 02/10/15(火) 11:10
   ┗Re:チェックボックスで指定したシートを複...  つん 02/10/15(火) 12:10
      ┗できました。  よち 02/10/16(水) 16:53

 ───────────────────────────────────────
 ■題名 : チェックボックスで指定したシートを複数選択するには?
 ■名前 : よち
 ■日付 : 02/10/15(火) 11:10
 -------------------------------------------------------------------------
   チェックボックスで指定した名前のシートを、複数選択するにはどうすれば良いのでしょう?
ユーザーフォームを表示する時点でアクティブになっているシートは決まっていないので、一旦選択を解除(?)後、指定したシートのみを複数選択したいのですが・・・
 ───────────────────────────────────────  ■題名 : Re:チェックボックスで指定したシートを複...  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/10/15(火) 12:10  -------------------------------------------------------------------------
   よちさん、こんにちは

>チェックボックスで指定した名前のシートを、複数選択するにはどうすれば良いのでしょう?
>ユーザーフォームを表示する時点でアクティブになっているシートは決まっていないので、一旦選択を解除(?)後、指定したシートのみを複数選択したいのですが・・・

こんな感じではどうでしょうか?
'==============================================
Sub test()

  Dim ArrySheet() As String
  Dim i As Long
  Dim k As Long
  
  k = 0
  
  For i = 1 To 4
  
    If Me.Controls("CheckBox" & i).Value = True Then
      ReDim Preserve ArrySheet(k)
      ArrySheet(k) = Me.Controls("CheckBox" & i).Caption
      k = k + 1
    End If
  Next i
  
  ThisWorkbook.Worksheets(ArrySheet).Select
  
  Erase ArrySheet

End Sub
'==============================================

ユーザーフォーム上にCheckBoxを4つ配置して、オブジェクト名は、CheckBox1〜4で、キャプションに、各シート名をつけてやってみました。
一度お試しくださいませ
(名前の付け方に問題があったらできませんね(^^; )
 ───────────────────────────────────────  ■題名 : できました。  ■名前 : よち  ■日付 : 02/10/16(水) 16:53  -------------------------------------------------------------------------
   つんさんへ
教えて頂いた方法でしっかり動作しています。
何だか複雑に考えすぎてたようです。
VBA初心者なのでしっかり勉強したいと思います。
ホントにありがとうございました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 210