1

我尝试使用下面的宏将excel名称“3”中的值复制到当前excel名称“1”但是当我执行时我得到编译错误方法或找不到数据成员我在Vb脚本中不好任何人请帮帮我

Sub Update()

Dim sPath As String
Dim objExcel As Application
Dim sValue As String
Dim wbTarget As Workbooks
Dim strName As String
Set wbThis = ActiveWorkbook
strName = ActiveSheet.Name
sPath = "C:\Users\nikhil.surendran\Desktop\1"
Set wbTarget = Workbooks.Open("C:\Users\nikhil.surendran\Desktop\3" & strName & ".xlsx")

sValue = wbTarget.Sheets(1).Range("A1").Value

Set objExcel = CreateObject("Excel.Application")
With objExcel
.Visible = False
.DisplayAlerts = 0
.ActiveWorkbook.Sheets(1).Range("B11").Value = sValue
.ActiveWorkbook.Save
.Quit
End With

End Sub



Thanks in Advance.
4

2 回答 2

2

假设“3.xlsx”是您要将数据复制到当前工作簿的文件名。并且还从“3.xlsx”的第一张表到当前工作簿的第一张表。

  Sub Update()

    Dim wbkSource           As Workbook

    Set wbkSource = Workbooks.Open("C:\Users\nikhil.surendran\Desktop\3.xlsx")
    wbkSource.Worksheets(1).Range("A1").CurrentRegion.Copy ThisWorkbook.Worksheets(1).Range("A1")

  End Sub
于 2013-05-09T11:27:24.963 回答
0

试试这个代码:假设您的代码是从当前工作簿运行的。您可以参考当前工作簿为ThisWorkbook和您打开的工作簿为wbTarget

Sub Update()

Dim sPath As String
Dim sValue As String
Dim wbTarget As Workbook
Dim strName As String

strName = ActiveSheet.Name ' Explicitly provide the sheet name
sPath = "C:\Users\nikhil.surendran\Desktop\1"
Set wbTarget = Workbooks.Open("C:\Users\nikhil.surendran\Desktop\3" & strName & ".xlsx")
sValue = wbTarget.Sheets(1).Range("A1").Value

ThisWorkbook.Sheets(1).Range("B11").Value = sValue 
ThisWorkbook.Save
End Sub
于 2013-05-09T11:25:03.850 回答