|
▼MASAOU さん:
こんにちは。
>以下の様な操作をしたいのですが、よくわかりません。
>ご教授をお願い致します。
>Book1.xlsにAAA,BBB,CCC,DDD,EEEのシートがあるとします。
>ユーザーフォームにはそれぞれのシート名がついたチェックボックスがあります。
>例えば、AAA,CCC,DDDのチェックボックスを選択して、その選択された
>シートだけを別のブック(Book2.xls)にコピーしたいのです。
>チェックボックスを複数選択した時の処理がわかりません。よろしくお願い
>致します。
チェックボックスのキャプションをシート名にして、
チェックボックス自体の名前は連番付きのにしたら、以下のように出来るかとおもいます。
Dim strSH() As String
Dim i As Long
Dim k As Long
k = 0
For i = 1 To 5
If Me.Controls("CheckBox" & i).Value = True Then
k = k + 1
ReDim Preserve strSH(1 To k)
strSH(k) = Me.Controls("CheckBox" & i).Caption
End If
Next i
With Workbooks("Book2.xls")
ThisWorkbook.Sheets(strSH).Copy after:=.Sheets(.Worksheets.Count)
End With
いかがでしょうか?
|
|