VBA中的Excel公式
我试图弄明白,为什么函数式在excel中工作,而不能简单地添加到VBA中VBA中的Excel公式,excel,vba,excel-formula,Excel,Vba,Excel Formula,我试图弄明白,为什么函数式在excel中工作,而不能简单地添加到VBA中 Sub btn_Get_Type_Click() Dim lr As Long With ThisWorkbook.Worksheets("Sheet1") lr = .Cells(Rows.Count, 1).End(xlUp).Row .Range("E2:E" & lr) = "=IF(D2>0,IF(ISNUMBER(MATCH(CORPORAT!A
Sub btn_Get_Type_Click()
Dim lr As Long
With ThisWorkbook.Worksheets("Sheet1")
lr = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("E2:E" & lr) = "=IF(D2>0,IF(ISNUMBER(MATCH(CORPORAT!A1:E30,5)),'CORPORATE','FIRM'),'HUMAN')"
End With
End Sub
有什么想法吗?还是我完全走错了路?我想你对引号有问题。试试这个:
Sub btn_Get_Type_Click()
Dim lr As Long
With ThisWorkbook.Worksheets("Sheet1")
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("E2:E" & lr) = .Range("E2:E" & lr) = "=IF(D2>0,IF(ISNUMBER(MATCH(corporat!A1:E30,5)),""CORPORATE"",""FIRM""),""HUMAN"")"
End With
End Sub
我想你对报价有问题。试试这个:
Sub btn_Get_Type_Click()
Dim lr As Long
With ThisWorkbook.Worksheets("Sheet1")
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("E2:E" & lr) = .Range("E2:E" & lr) = "=IF(D2>0,IF(ISNUMBER(MATCH(corporat!A1:E30,5)),""CORPORATE"",""FIRM""),""HUMAN"")"
End With
End Sub
您想创建什么公式
现在的答案是,您的匹配函数将无法工作,因为您没有提供搜索条件,而且5也不是有效的选择-小于1、精确0或大于1。要创建什么公式
现在的答案是,您的匹配函数将无法工作,因为您没有提供搜索条件,而且5也不是有效的选择-小于1、精确0或大于1。我找到了解决方案,非常感谢您的建议。第一个是错误的。Rows.Count没有点,下一个匹配没有条件,@JvdV tip和最后一个类型不匹配,以及;我只需要一种类型的任务 该公式适用于:
Sub btn_Get_Type_Click()
Dim lr As Long
With ThisWorkbook.Worksheets("Sheet1")
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("E2:E" & lr) = "=IF(D2>0,IF(ISNUMBER(MATCH(D2,CORPORAT!$E$1:$E$30,0)),""K"",""PO""),""FO"")"
End With
End Sub
我找到了解决办法,非常感谢你的建议。第一个是错误的。Rows.Count没有点,下一个匹配没有条件,@JvdV tip和最后一个类型不匹配,以及;我只需要一种类型的任务 该公式适用于:
Sub btn_Get_Type_Click()
Dim lr As Long
With ThisWorkbook.Worksheets("Sheet1")
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("E2:E" & lr) = "=IF(D2>0,IF(ISNUMBER(MATCH(D2,CORPORAT!$E$1:$E$30,0)),""K"",""PO""),""FO"")"
End With
End Sub
请注意,Rows.Count必须是.Rows.Count,开头带点。否则,此代码可能会失败。请注意,Rows.Count必须是.Rows.Count,开头带点。否则这个代码可能会失败。我也认为MATCHcorporat!A1:E30,5是错误的,因为它是匹配搜索条件、搜索矩阵、比较类型,所以它可能是匹配5的另一种方式,下士!A1:E30和OP应该选择一个比较类型并添加它。我也认为MATCHcorporat!A1:E30,5是错误的,因为它是匹配搜索条件、搜索矩阵、比较类型,所以它可能是匹配5的另一种方式,下士!A1:E30和OP应该选择一个比较类型并添加它。