|
>フォーム名.showとだけ書いてもいいでしょうが。。。
ループ内でShowで繰り返す意味はありませんので、その方が良いと思います。
>その後書いたのは、フォームの中で記述しているソースです。
>処理はフォームを開き、ファイルを開くボタンを押下し、データファイルを開き、
>対象のシートを選択します。
>シートがどこにあるか判断つかないので、msgboxを使用して1シートずつアクティブに
>してユーザに判断してもらいます。そして対象のシートになるまでfor nextでまわして
>います。
修正してみましたので試してみて下さい。
なお、対象のブックを ActiveWorkbook にしてありますが、
Active〜というのはあまり良くありませんので、
「ファイルを開くボタンを押下し、データファイルを開き」とのことなので、
この時点で、オブジェクト変数に代入して参照した方が良いと思います。
(GetOpenFilenameメソッドとOpenメソッドをお使いでしょう?)
Dim i As Long
With ActiveWorkbook
For i = 1 To .Sheets.Count
.Worksheets(i).Activate
If vbYes = MsgBox("選択されたシートは、 " & _
.Worksheets(i).Name & " です。" & Chr(13) & Chr(13) & _
"これでよろしいですか?" _
, vbYesNo + vbQuestion, _
"シート選択 : " & i & "/" & .Sheets.Count) Then
Exit For
End If
Next i
End With
|
|