Excel VBA , Worksheetsコレクションでインデックス番号指定だと開けない件

1年位使われた形跡のないExcel VBAの問い合わせに遭遇。
以前はうまくExcel取込みが出来ていたのだけど。


調査したところ、Worksheetsコレクションでインデックス番号指定で開いている、コピー元のデータのあるシートを開けていないようだ。

    Dim wb As Workbook
    Dim ws As Worksheet

    Target = DesktopPath & InputExcel

    'コピー元を、オープンする
    Set wb = Workbooks.Open(Target)
    Set ws = wb.Worksheets(1)          ←ここ

    'コピー元から、66行をコピーする
    ws.Range("1:66").Copy

    'コピー先へ、値のみを貼り付ける
    ThisWorkbook.Worksheets(DATAIN).Activate
    Range("1:66").PasteSpecial Paste:=xlPasteValues

    Set ws = Nothing
    Set wb = Nothing

    '元のファイルを閉じる
    Application.DisplayAlerts = False
    Workbooks(InputExcel).Close SaveChanges:=False

(説明のために抜粋)



ここで、シート名をインデックス番号でなく"Sheet1"の固定名にすることで解決する。

    Set ws = wb.Worksheets("Sheet1")


でもね。。。
過去うまくいったエクセルにデータだけを手作業でコピー&ペーストしたものを読み込ませると問題無くうまくいく。
エクセルのバージョンは、今も以前も「Microsoft Office Home and Business 2010」。
OSは以前は Windows XP Home Edition (Service Pack 3)、今は Windows 7 Professional (Service Pack 1)。
確かに環境に差があるけれど、この実行結果の差は理解できないなぁ…



結局、シート名を取得するようにした版で本番リリース。
固定名にすることは選ばなかった。

    Dim wSN As String

    Set wb = Workbooks.Open(Target)
    wSN = ActiveSheet.Name
    
    Set ws = wb.Worksheets(wSN)


でも、なんでうまく動かなくなったのかなぁ〜
まぁ、いっかw