Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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
Excel 谁能告诉我为什么我';当我尝试运行此代码时,是否遇到类型不匹配错误? Private子命令按钮1\u单击() 如果范围(“C4”).Value”“、范围(“D4”).Value”“、范围(“E4”).Value”“、范围(“F4”).Value”“、范围(“G4”).Value”“、范围(“H4”).Value”“、范围(“I4”).Value”“,则 第i组=图纸(“图纸2”) e组=板材(“板材3”) 暗淡的 Dim j j=3 直到空为止(e.Range(“C”和j)) 如果e.Range(“C”&j,“F”&j)=i.Range(“C4:F4”),则 如果e.Range(“G”&j)为零,则 e、 范围(“G”和j,“I”和j)=I.范围(“G4:I4”) 其他的 如果结束 其他的 i、 范围(“C4:I4”)。副本 e、 范围(“C”&行数)。结束(xlUp)。偏移量(1,0)。粘贴特殊xlPasteValues 如果结束 j=j+1 环 其他的 如果结束 端接头_Excel_Vba - Fatal编程技术网

Excel 谁能告诉我为什么我';当我尝试运行此代码时,是否遇到类型不匹配错误? Private子命令按钮1\u单击() 如果范围(“C4”).Value”“、范围(“D4”).Value”“、范围(“E4”).Value”“、范围(“F4”).Value”“、范围(“G4”).Value”“、范围(“H4”).Value”“、范围(“I4”).Value”“,则 第i组=图纸(“图纸2”) e组=板材(“板材3”) 暗淡的 Dim j j=3 直到空为止(e.Range(“C”和j)) 如果e.Range(“C”&j,“F”&j)=i.Range(“C4:F4”),则 如果e.Range(“G”&j)为零,则 e、 范围(“G”和j,“I”和j)=I.范围(“G4:I4”) 其他的 如果结束 其他的 i、 范围(“C4:I4”)。副本 e、 范围(“C”&行数)。结束(xlUp)。偏移量(1,0)。粘贴特殊xlPasteValues 如果结束 j=j+1 环 其他的 如果结束 端接头

Excel 谁能告诉我为什么我';当我尝试运行此代码时,是否遇到类型不匹配错误? Private子命令按钮1\u单击() 如果范围(“C4”).Value”“、范围(“D4”).Value”“、范围(“E4”).Value”“、范围(“F4”).Value”“、范围(“G4”).Value”“、范围(“H4”).Value”“、范围(“I4”).Value”“,则 第i组=图纸(“图纸2”) e组=板材(“板材3”) 暗淡的 Dim j j=3 直到空为止(e.Range(“C”和j)) 如果e.Range(“C”&j,“F”&j)=i.Range(“C4:F4”),则 如果e.Range(“G”&j)为零,则 e、 范围(“G”和j,“I”和j)=I.范围(“G4:I4”) 其他的 如果结束 其他的 i、 范围(“C4:I4”)。副本 e、 范围(“C”&行数)。结束(xlUp)。偏移量(1,0)。粘贴特殊xlPasteValues 如果结束 j=j+1 环 其他的 如果结束 端接头,excel,vba,Excel,Vba,您的类型不匹配是因为您将范围与多个单元格进行比较,如下所示: Private Sub CommandButton1_Click() If Range("C4").Value <> "" & Range("D4").Value <> "" & Range("E4").Value <> "" & Range("F4").Value <> "" & Range("G4").Value <> "" &

您的类型不匹配是因为您将范围与多个单元格进行比较,如下所示:

Private Sub CommandButton1_Click()

If Range("C4").Value <> "" & Range("D4").Value <> "" & Range("E4").Value <> "" & Range("F4").Value <> "" & Range("G4").Value <> "" & Range("H4").Value <> "" & Range("I4").Value <> "" Then

Set i = Sheets("Sheet2")

Set e = Sheets("Sheet3")

Dim d

Dim j

j = 3

Do Until IsEmpty(e.Range("C" & j))

If e.Range("C" & j, "F" & j) = i.Range("C4:F4") Then

If e.Range("G" & j) Is Nothing Then

e.Range("G" & j, "I" & j) = i.Range("G4:I4")

Else

End If

Else

i.Range("C4:I4").Copy

e.Range("C" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues

End If

j = j + 1

Loop

Else

End If

End Sub
VBA不知道该回答什么,因为当您将4个单元格与4个单元格进行比较时,它不知道您希望看到什么

为了使某些内容有意义,您应该实现一个比较范围的函数。类似这样的东西可以让您开始:

If e.Range("C" & j, "F" & j) = i.Range("C4:F4") Then
公共函数比较符(rngA作为范围,rngB作为范围)作为布尔值
如果rngA.Count rngB.Count那么
CompareRanges=False
出口接头
其他的
'循环通过rngA的单元格,并将其与rngB进行比较
如果结束
端函数

您在哪一行收到错误?“寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:我相信这是在这一行:如果e.Range(“C”和j,“F”和j)=I.Range(“C4:F4”),那么对不起,我对VBA是相当陌生的,我不确定你写的代码是什么意思或者做什么基本上我有4个单元格,每行都有信息,我想按下一个按钮,在下一张工作表上搜索相同类型的数据列表,看看前两个单元格是否已经在列表中,如果是的话,将后两个单元格粘贴到同一行上,但如果没有将所有4个单元格粘贴到列表底部。@O.Renwick,请查找一个教程,解释VBA
if。。。然后
命令。还可以找到有关VBA的教程functions@O.Renwick,请将最后的评论添加到您的问题中
Public Function CompareRanges(rngA As Range, rngB As Range) As Boolean

    If rngA.Count <> rngB.Count Then
        CompareRanges = False
        Exit Sub
    Else
        'loop through the cells of rngA and compare them with rngB
    End If

End Function