ボタンを押すとExcelにデータを書き出すプログラムがあります。Excelは.Visible = Falseで隠していますが実際は立ち上がっています。シートは複数。
1回目の書き出しはエラーなしなのにもう1回ボタンを押すと
「Range’メソッドは失敗しました:’_Worksheet’オブジェクト」
というエラーが起きました。
どのシートかはしっかり明示している、しかもキカイなのに2回目だけエラーって……。この手のエラーは心の平安を乱されますね。
まずシートの罫線をクリアしているのですが、
'罫線をクリア。
ws.Range(Cells(1, 1), Cells(endRow, rs.Fields.Count + 1)).Borders.LineStyle = xlLineStyleNone
これがダメで、
'罫線をクリア。
ws.Range(ws.Cells(1, 1), ws.Cells(endRow, rs.Fields.Count + 1)).Borders.LineStyle = xlLineStyleNone
こう書かないといけませんでした。
Range(範囲)はws(そのワークシート)だけど、Cells(セル)はどのワークシート? ということなんだと思います。
しっかり明示してあげる、これで以後AccessからExcelの操作は妙なエラーも出ずバッチリでした。