Microsoft Access 掲示板

エクセル操作 Rangeと変数 / 9

17 コメント
views
4 フォロー
9

まず、回答の前に、一言。
コードの一部の抜粋を提示するより、可能ならば Sub から End Sub まですべて提示した方が話がはやいでしょう。
もし、コードが提示するには長すぎるなら、処理を複数のサブルーチンに分割することを検討した方がいいでしょう。
今回も、結局リンク先のコードをみて類推して回答することになりますが、認識違いで無駄なやりとりになる可能性もあります。


こちらで、リンク先のコードと提示のコードからサンプルを作成して実験したところ、下記を修正したら正常に動作しました。

With xls
    .screenUpdating = False
    .workbooks.Open strTemplateDir & strTemplateBook
    .workbooks(strTemplateBook).Worksheets("xxx").Copy
    .workbooks(strTemplateBook).Close
-  .Range(xls.cells(21+i , 1), xls.cells(21+i+j , 1).entirerow.Insert
+  .Range(xls.cells(21+i , 1), xls.cells(21+i+j , 1)).entirerow.Insert

ようは不足していた)を追加しただけです。

ただし、この修正前のコードでは構文エラーになり実行すらできませんので、

「オブジェクトは、このプロパティまたはメソッドをサポートしていません」

というようなエラーにはなりませんので、提示されていない他の部分に原因があるでしょう。

ということで、やはりコード全体を提示してください。

通報 ...