プロが教える店舗&オフィスのセキュリティ対策術

ACCESS2000のVBAでエクセルを読んでいるプログラムを作成しています。
今までは、その受け取っているエクセルのシート名が固定だったのですが、次回からシート名が可変になります。そこで相談なのですが、シート名が可変でも読み込む方法はありますか。ちなみにシートは1つです。(インポート以外でお願いします。)
現在のコーディング例 一部抜粋
Dim wb As Workbook 'ワークブック
Dim ws As Worksheet 'シート
'マスタのExcelファイルを開く
Set wb = Workbooks.Open("test")
Set ws = wb.Worksheets("SHEET1") <=ここが可変になります。
i = 0
Do Until IsEmpty(ws.Cells(StartRow + i, StoreNoCol))
nohindate = ws.Cells(StartRow + i, 2) '日
i = i + 1
Loop
宜しくお願いします。

A 回答 (1件)

Worksheetsコレクションはワークシート名だけではなく1から始まるインデックス番号でも指定が可能です。



Set ws = wb.Worksheets("SHEET1") <=ここが可変になります。

Set ws = wb.Worksheets(1)


※ヘルプより

>単体の Worksheet オブジェクトを取得するには、Worksheets(index) プロパティを
>使用します。引数 index には、ワークシートのインデックス番号または名前を指定します。
>次の使用例は、作業中のブックのワークシート 1 を非表示にします。
>
>Worksheets(1).Visible = False
    • good
    • 0
この回答へのお礼

インデックス番号でも指定が可能
ありがとうございます。
助かりました。

お礼日時:2009/11/25 18:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!