投稿者 shu  (社会人) 投稿日時 2013/3/18 11:00:14
> xlsCell = xlsheet.Cells
こうしているのだからxlsheet.Cellsではなく以降xlsCellを使用する
xlsCellの解放も行う。

xlsCell.Rowsを1度変数にいれ使い終わったら解放する。
CType(xlsCell(xlsCell.Rows.Count, 1), Range) も同様
CType(xlsCell(xlsCell.Rows.Count, 1), Range).End(XlDirection.xlUp)
xlsheet.Cells(xlRng, 1)
xlsheet.Cells(xlRng, 2)
xlsheet.Cells(xlRng, 3)
xlsheet.Cells(xlRng, 4)
xlsheet.Cells(xlRng, 5)
xlsheet.Cells(xlRng, 6)
xlsheet.Cells(xlRng, 7)
これらも同様
オブジェクトが返ってくるメソッドは単体で呼ぶようにする。

xlsheet.Cells => Rangeオブジェクト
xlsheet.Cells(row, col) => xlsheet.Cells.Item(row,col)と同じ => Rangeオブジェクト
xlsheet.Rows => Rangeオブジェクト 
などRangeオブジェクトはそれが持っているメソッドにより新たなRangeオブジェクトが
返ってくるのでそれらをすべて変数で保持し解放する必要があります。