自动输入数据时出错

时间:2017-10-04 06:12:08

标签: excel vba excel-vba

我录制了一个宏观&与我研究和测试的一些代码集成在一起,可以单独使用。但是,将它们组合在一起后,我偶然发现了运行宏的错误。弹出一个显示

的消息框
  

编译错误:预期结束

非常感谢我能帮助解决这个问题

Sub Book1UpdateDelete()
    '
    ' Book1UpdateDelete Macro
    '
    ' Keyboard Shortcut: Ctrl+g
    '
    'Select values in a column from specified workbook and sheet
    Dim LR As Long, cell As Range, rng As Range

    Windows("Y738 Data").Activate

    With Sheets("Graph data")
        LR = .Range("B" & Rows.Count).End(xlUp).Row
        For Each cell In .Range("B4:B" & LR)
            If cell.Value <> "" Then
                If rng Is Nothing Then
                    Set rng = cell
                Else
                    Set rng = Union(rng, cell)
                End If
            End If
        Next cell

        rng.Select
    End With

    Selection.Copy

    'Open next workbook
    Windows("Y783").Activate
    'Open Sheet L
    Sheets("L").Select
    'Select empty field fromn column AA
    Range("AA" & Rows.Count).End(xlUp).Offset(1).Select
    'paste selection to empty field
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'Go back to previous workbook & delete column
    Windows("Y738").Activate

    With Sheets("Graph data")
        Columns("B:B").Select
        Application.CutCopyMode = False
        Selection.Delete Shift:=xlToLeft
        Sheets("Graph Data").Select

End Sub

1 个答案:

答案 0 :(得分:0)

您错过了并以代码底部结束。

试试这个(未经测试的)

Sub Book1UpdateDelete()
'
' Book1UpdateDelete Macro
'
' Keyboard Shortcut: Ctrl+g
'
'Select values in a column from specified workbook and sheet
Dim LR As Long, cell As Range, rng As Range
Windows("Y738 Data").Activate
With Sheets("Graph data")
LR = .Range("B" & Rows.Count).End(xlUp).Row
For Each cell In .Range("B4:B" & LR)
    If cell.Value <> "" Then
        If rng Is Nothing Then
            Set rng = cell
        Else
            Set rng = Union(rng, cell)
        End If
    End If
Next cell
rng.Select

End With
Selection.Copy

'Open next workbook
Windows("Y783").Activate
'Open Sheet L
Sheets("L").Select
'Select empty field fromn column AA
Range("AA" & Rows.Count).End(xlUp).Offset(1).Select
'paste selection to empty field
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
'Go back to previous workbook & delete column
Windows("Y738").Activate
With Sheets("Graph data")
Columns("B:B").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Sheets("Graph Data").Select
End with
End Sub