【发布时间】:2017-09-07 20:03:24
【问题描述】:
我正在尝试编写代码以根据主工作表上的 5 个下拉列表(使用数据验证)将数据从一张工作表复制并粘贴到同一工作簿中的主工作表,并为其编写了如下代码,但是每次我得到运行时 1004 错误并且不知道如何解决它时,有没有办法解决这个问题?
Private Sub GO_Click()
Worksheets("Dashboard").Select
If Worksheets("Dashboard").Range(B3) = "National Gallery" And
Worksheets("Dashboard").Range(B4) = "unframed" And
Worksheets("Dashboard").Range(B7) = "Product Costings" And
Worksheets("Dashboard").Range(B5) = "N/A" And
Worksheets("Dashboard").Range(B6) = "N/A" Then
Worksheets("(7b)").Activate
Worksheets("(7b)").Range(A8, F23).Copy_
Destination = Worksheets("Dashboard").Range(D11)
Else: MsgBox ("No Data")
End If
End Sub
【问题讨论】:
-
如果您在使用
...Range(B3) = ...时指的是单元格B3,那么您需要包含引号。所以它会是...Range("B3") = ...,目前它会假设B4是一个变量,它可能没有分配任何东西。 -
这应该是编译错误,如果你在顶部添加
Option Explicit。因此建议 - 添加Option Explicit并重写代码,直到可以编译为止。
标签: vba excel runtime-error