我的配方有什么问题吗?我试图使用一个公式将我带到gotoreference(I.e f5)单元格,以验证单元格在继续之前是否确实正确,或者使用msgbox提示继续进行,或者无法找到工作簿/工作表。此外,有时人留下空白,因为它是季度数据,我想要它自动提取最新的数据(最远)列。
我有两个工作簿:一个是我正在运行宏的当前工作簿(Currentworkbook.xlsx)。另一个是“Mysheettab”的Jedata.xlsx和其他没有在这里列出的工作簿,将信息输入到‘Sheet1 1’的Currentworkbook.xlsx中。
Option explicit
Sub Macro3()
' Macro3 Macro
'
' Keyboard Shortcut: Ctrl+q
'
Dim wb As Workbook
Dim ws As Worksheet
On Error Resume Next
Set wb = ActiveWorkbook("Jedata")
Set ws = ActiveWorkbook.Sheets("Mysheettab")
On Error GoTo 0
If ws Is Nothing Then
MsgBox "Data sheet not found"
Else
Activate.Windows ("wb")
Sheets("ws").Select
Application.Goto Reference:=Range("AG28:AG32").Select
Selection.Copy
Windows("Currentworkbook").Activate
Selection.Copy
Range("H10:H14").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
End Sub发布于 2013-11-29 14:38:56
我可以在你的代码中看到很多错误。
首先要做的是。您可以避免使用.Activate/.Select。INTERESTING READ
接下来是关于Activate.Windows ("wb")。"之间的任何内容都将被视为字符串。我想你想试试
wb.Activate但正如我提到的,您应该避免使用.Activate/.Select。您的代码可以编写为(未测试的)
Sub Macro3()
Dim wb As Workbook, thiswb As Workbook
Dim ws As Worksheet, thisws As Worksheet
On Error GoTo Whoa
Set thiswb = thisowrkbook
Set thisws = thiswb.ActiveSheet
Set wb = Workbooks("Jedata")
Set ws = wb.Sheets("Mysheettab")
ws.Range("AG28:AG32").Copy thisws.Range("H10")
Application.CutCopyMode = False
Exit Sub
Whoa:
MsgBox Err.Description
End Subhttps://stackoverflow.com/questions/20287695
复制相似问题