通过excel vba打开工作簿并复制内容

我想打开一个特定的文件,并从该文件中复制单元格并粘贴到活动工作簿中,但出现错误“438”:对象不支持此属性或方法。

这是我的代码:

Sub open_file() Dim open_book As Variant com_name = InputBox("Enter Company Ticker", "Enter Company Ticker") If (IsEmpty(com_name)) Then msg = MsgBox("Please, enter company ticker", vbCritical) Else open_book = Workbooks.Open("E:\Mutual Fund\data\nifty 50\" & com_name & ".xlsx") Windows(com_name & ".xlsx").Activate Range("A:A,H:H").Select Selction.Copy Windows("try.xlsm").Activate Range("A1").Select Selection.Paste End If End Sub 

尝试下面的代码

 Sub open_file() Dim open_book As Variant com_name = InputBox("Enter Company Ticker", "Enter Company Ticker") If (IsEmpty(com_name)) Then msg = MsgBox("Please, enter company ticker", vbCritical) Else Set open_book = Workbooks.Open("E:\Mutual Fund\data\nifty 50\" & com_name & ".xlsx") Range("A:H").Copy Windows("try.xlsm").ActiveSheet.Range("A1") End If End Sub 

您在“select”checkbox上input错误

您还应该定义从哪个工作表开始。 如果您使用与您希望应用该操作的页面不同的活动页面调用macros,则该macros将不起作用。 做这样的事情:

 open_book.Sheets("My_Sheet").Range("A:A,H:H").Select