|
お世話になります。
MITと申します。
【対象となる標準モジュール構文】
_______________________________________
Option Explicit
'オブジェクト変数
Dim Ba_Test As Workbook, Order As Worksheet, N_wb As Workbook, N_ws As Worksheet
________________________________________
Sub 実行マクロ()
'変数設定
Dim StrName As String, SheName As String, i As Long, temp As Variant
Dim Temp_row(2) As Long, para(3) As Long
'Temp_row(1):最低 temp_row(2):最高値 _
para(1):ミニマム (2):マックス (3):ステップ数
'オブジェクト変数の定義
Set Ba_Test = Workbooks("backテスタ.xlsm")
Set Order = Ba_Test.Worksheets("order")
Workbooks.Add '新しいワークブックの挿入
'新規シートのオブジェクト変数挿入
Set N_wb = ActiveWorkbook
Set N_ws = ActiveSheet
Ba_Test.Activate 'テストワークブックをアクティブ
'注文レートの上限セルの場所と下限セルの場所
Temp_row(1) = Order.Cells(1, 7).End(xlDown).Row
Temp_row(2) = Order.Cells(Rows.Count, 7).End(xlUp).Row
'注文レートを新規シートに転記
Order.Range(Cells(Temp_row(1), 7), Cells(Temp_row(2), 7)).Copy _
Destination:=N_wb.N_ws.Range("A2")
以下省略・・・
______________________________________________________
【疑問点】
・「Order.Range(Cells(Temp_row(1), 7), Cells(Temp_row(2), 7)).Copy _
Destination:=N_wb.N_ws.Range("A2")」の部分において、
「実行時エラー438:オブジェクトは、このプロパティまたはメソッドをサポートしていません。」のエラーが発生してしまう。
・Destination部分の構文をコメントアウトすると正常に動作するため、Destination部分の構文に問題がある可能性が高いが、どう間違っているのかがわからない。
【当該マクロの目的】
・検証用のブックで不定回数の検証を実施し、その結果を新しいブックに検証の都度、コピーペーストする。(省略部分は、検証用の別マクロを呼び出す未完成の構文が記録されています。今回の疑問点とは関係がなく、視認性を落とすので省略しています。)
もちろん一度保存しブック名を確定させた後に、ワークブック名、シート名をすべて手入力しコピーペーストする方法があるのはわかりますが、構文が横に長くなるのでできる限り避けたく、皆様のお知恵を拝借できればと考えております。
お忙しいところ恐縮ではありますが、ご教示頂けますと幸甚です。
|
|