2013-11-29 3 views
1

Что-то не так с моей формулой? Я пытаюсь использовать формулу, чтобы довести меня до ячейки gotoreference(I.e f5), чтобы убедиться, что ячейки действительно правильные, прежде чем продолжить, или же запрос msgbox, чтобы продолжить или что рабочая книга/рабочий лист не могут быть найдены. Также иногда человек оставляет пустым, потому что это ежеквартальные данные, я бы хотел, чтобы он автоматически экспортировал последние данные (самый дальний) столбец.Ошибка копирования и вставка:

У меня есть две книги: одна моя текущая книга (Currentworkbook.xlsx), на которой я запускаю макрос. Другой - Jedata.xlsx из «Mysheettab» и несколько других книг, которые не перечислены здесь, будут загружать информацию в Currentworkbook.xlsx «Sheet1».

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 

ответ

0

Я вижу много ошибок в вашем коде.

Прежде всего. Вы избегаете использования .Activate/.Select. INTERESTING READ

Дальше относительно Activate.Windows ("wb"). Все, что находится между ", будет считаться строкой. Я думаю, что вы хотели попробовать

wb.Activate 

Но, как я уже говорил, вы должны избегать использования .Activate/.Select. Ваш код может быть записан в виде (UNTESTED)

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 Sub 
+0

Спасибо Я бы попробовать его. – user3022697

Смежные вопросы