を動作しません。私はこのような開かれたマクロやデータが含まれている隠されたワークブックが含まれている主なワークブックを持っている:エクセルVBAのselection.copyは
Dim ExcelApp As Object
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = False
ExcelApp.ScreenUpdating = False
ExcelApp.DisplayAlerts = False
ExcelApp.EnableEvents = False
Dim creditsWorkbook As Workbook
Set creditsWorkbook = ExcelApp.Application.Workbooks.Open("P:\2017\" & DATA & ".xlsx")
後のコードで私が選択そのデータブックの範囲は、それをコピーして、メインのブックに貼り付けます。
creditsWorkbook.Worksheets("List1").Range(creditsWorkbook.Worksheets("List1").Cells(5, 1), creditsWorkbook.Worksheets("List1").Cells(lastStr3, lastStb3)).Select
creditsWorkbook.Worksheets("List1").Activate
'creditsWorkbook.Worksheets("List1").Selection.Copy '<--- error
Selection.Copy <--- works, but copies from the Main workbook wrong stuff
Windows("Main.xlsm").Activate
Sheets("Credit portfolio").Select
Range("a4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
lastStr3
とlastStb3
はちょうどcreditsWorkbook
から選択するために、行と列の数が含まれている整数です。選択はうまく動作します(私は可視性をオンにするときにそれを見ることができます)が、コピーメソッドが混乱します。
最初にcreditWorkbook
を有効にしようとしましたが、このようなコピーを指定しようとしましたが、creditsWorkbook.Worksheets("List1").Selection.Copy
ですが、エラーはobject doesn't support this property or method
となります。私は必要な結果を得るために何をすべきか分かりません。
何か助けていただければ幸いです。
なぜ> activate> copyを選択するのですか?範囲(creditsWorkbook.Worksheets( "List1")。)セル(5,1)、クレジットワークブック。ワークシート( "リスト1")。セル(lastStr3、lastStb3)) .Copy' –
@Tim Wilkinson、私はあなたの提案通りにコピーを変更しましたが、貼り付け時にエラーが発生しました。「範囲指定クラスの特殊メソッドが失敗しました。理由は分かりません。範囲をコピーした場合、それを貼り付けるのは何ですか? – Ans