最後の行と列がわからない範囲のセルをコピーしようとしています(ただし、変数)。残念ながら、私が範囲を参照しようとしている方法は、変数を使用するときに実行時エラー1004(アプリケーション定義またはオブジェクト定義エラー)を与えているのですが、なぜそれを理解できません。以下のコードのサンプルは次のとおりです。範囲(Excel VBA)をコピーしようとするとランタイムエラー '1004'が返される
Dim wkbk As Workbook
Dim copy_rng As Range
...
Set copy_rng = wkbk.Worksheets("Payable").Range("A1:Y3500")
Set copy_rng = wkbk.Worksheets("Payable").Range(Cells(1, 1), Cells(last_row_pay, last_col_pay))
最初のSetステートメントは、単に一例であり、それが正常に動作します(私は適切に定義されwkbk知っていて、それが「支払い」のワークシートを見つけることです)。誰かがなぜ2番目のSet文が機能しないのか分かりますか?構文の問題はありますか? (デバッグ中に、last_row_payとlast_col_pay変数にカーソルを置くと、有効な値(それぞれ1533と25)が表示されます。
非常によく見つかった! "Payable"以外のシートを有効にすることで問題を再現できます。 –
私はこれを試しましたが、実行時エラー '438'が表示されます。オブジェクトはこのプロパティまたはメソッドをサポートしていません。私はそれを見ていきますが、もしあなたが思考を持っているなら私に知らせてください。ありがとう!!! – rryanp
投稿を修正しました。私はデータの左上のセルを参照するのを忘れていました。 – ja72