【问题标题】:Excel Macro Copy cell range & paste data one sheet to anotherExcel宏复制单元格范围并将数据粘贴到另一个工作表
【发布时间】:2015-02-25 03:18:07
【问题描述】:

我正在尝试查找给定列表的值并将剩余的行内容复制到与列表相邻的列中。我从这个网站复制了一些代码,并在其他地方寻找答案,找不到任何东西。每次我运行代码时,它都会给我一个编译错误“无效的外部过程”

Sub test()
Dim LR As Long
Dim i As Long
Dim x As Long
Dim lastDataRow As Long
Dim lastListRow As Long
Dim sheetOne As String
Dim sheetTwo As String

Dim listItem As String
Dim dataItem As String

Dim listColNum As Long
Dim dataColNum As Long

listColNum = 1
dataColNum = 2
sheetOne = "new_copy"
sheetTwo = "Historical_data_"

lastListRow = Sheets(sheetOne).Cells(Sheets(sheetOne).Rows.Count, listColNum).End(xlUp).row
lastDataRow = Sheets(sheetTwo).Cells(Sheets(sheetTwo).Rows.Count, dataColNum).End(xlUp).row

For x = 1 To lastListRow

    For i = 1 To lastDataRow

        If Sheets(sheetOne).Cells(x, listColNum).Value = Sheets(sheetTwo).Cells(i, dataColNum).Value Then
            Sheets(sheetOne).Cells(x, 3).Value = Sheets(sheetTwo).Cells(i, 3).Value
        End If

    Next i
Next x
End Sub

任何帮助将不胜感激!

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您提交的代码编译并运行没有问题。

    当您看到Invalid outside procedure 时,您的代码通常不在Sub 和End Sub 之间

    语句必须出现在 Sub 或 Function 或属性中 过程(Property Get、Property Let、Property Set)。

    另外,您应该检查您的代码是否在 Module 中,而不是在 worksheet 或 workbook 代码中

    【讨论】:

    • 我删除了原始模块,插入了一个新模块,然后将代码复制回来。然后它运行良好。感谢您的帮助。
    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    相关资源
    最近更新 更多