Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复运行时错误424“;“所需对象”;在excelvba中_Excel_Vba - Fatal编程技术网

如何修复运行时错误424“;“所需对象”;在excelvba中

如何修复运行时错误424“;“所需对象”;在excelvba中,excel,vba,Excel,Vba,我正在处理一个Excel项目,我试图从“表1”中生成某些行,其中C列中包含一个名为“外部”的单词,然后将该行复制并粘贴到“表3”中 我知道有一种叫做“过滤器”的东西,但这不是一种选择 这个项目是为我的工作团队设计的,他们希望能够提取显示为“外部”的行和列,然后能够将它们和其他信息粘贴到包含这些信息的另一个工作表中 Private子命令按钮1\u单击() a=工作表(“Sheet1”)。单元格(Rows.Count,1)。结束(xlUp)。行 对于i=2到a 如果工作表(“Sheet1”).单元格

我正在处理一个Excel项目,我试图从“表1”中生成某些行,其中C列中包含一个名为“外部”的单词,然后将该行复制并粘贴到“表3”中

我知道有一种叫做“过滤器”的东西,但这不是一种选择

这个项目是为我的工作团队设计的,他们希望能够提取显示为“外部”的行和列,然后能够将它们和其他信息粘贴到包含这些信息的另一个工作表中

Private子命令按钮1\u单击()
a=工作表(“Sheet1”)。单元格(Rows.Count,1)。结束(xlUp)。行
对于i=2到a
如果工作表(“Sheet1”).单元格(i,3).Value=“外部”,则
工作表(“表1”).行(i).副本
工作表(“表3”)。激活
b=工作表(“Sheet3”).单元格(行数,1).结束(xlUp).行
工作表(“表3”)。单元格(b+1,1)。选择
活动表。粘贴
工作表(“表1”)。激活
如果结束
下一个
Application.CutCopyMode=False
此工作簿。工作表(“Sheet1”)。单元格(1,1)。选择
端接头
预期的结果是将第1页C列中包含“外部”一词的所有行显示到新的表格中,并将其所有信息显示在第3页中

Excel工作表供参考:


首先,声明所有变量。接下来,您可以尝试将
If工作表(“Sheet1”).Cells(i,3).Value=“External”然后
更改为
If工作表(“Sheet1”).Range(“C”&i).Text=“External”然后
。请看这里:

 Private Sub CommandButton1_Click()

    Dim a As Long
    Dim i As Long
    Dim b As Long

    a = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To a
        If Worksheets("Sheet1").Range("C" & i).Text = "external" Then
            Worksheets("Sheet1").Rows(i).Copy
            Worksheets("Sheet3").Activate
            b = Worksheets("Sheet3").Cells(Rows.Count, 1).End(xlUp).Row
            Worksheets("Sheet3").Cells(b + 1, 1).Select
            ActiveSheet.Paste
            Worksheets("Sheet1").Activate
        End If
    Next

    Application.CutCopyMode = False

    ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Select
 End Sub