excel - 在 VBA 中复制 Excel 函数
问题描述
我有一个excel函数如下 -
IF(B3="","",IF(AND(G3="NA",F3="Qualified"),"New to Qualified",
IF(AND(G3="NA",F3<>"Qualified"),CONCATENATE("New to Qualified and ",F3),
IF(AND(G3<>"NA",F3="Qualified"),IF(H3<>G3,"TCV Change","Same"),
IF(AND(G3<>"NA",F3<>"Qualified"),IF(H3="NA","TCV Change",IF(H3<>G3,CONCATENATE("TCV Change and ",F3),F3)))))))
我正在尝试在 VBA 中复制相同的内容 -
Sub CC()
Dim str1 As String
Dim str2 As String
str1 = "New to Qualified and" & Range("F3:F100")
str2 = "TCV Change and" & Range("F3:F100")
Range("J3:J100").Value = IIf(Application.WorksheetFunction.And(Range("G3:G100") = "NA", Range("F3:F100") = "Qualified"), "New to Qualified", _
IIf(Application.WorksheetFunction.And(Range("G3:G100") = "NA", Range("F3:F100") <> "Qualified"), str1, _
IIf(Application.WorksheetFunction.And(Range("G3:G100") <> "NA", Range("F3:F100") = "Qualified"), IIf(Range("H3:H100") <> Range("G3:G100"), "TCV Change", "Same"), _
IIf(Application.WorksheetFunction.And(Range("G3:G100") <> "NA", Range("F3:F100") <> "Qualified"), IIf(Range("H3:H100") = "NA", "TCV Change", IIf(Range("H3:H100") <> Range("G3:G100"), str2, Range("F3:F100")))))))
End Sub
但是我在最后一行遇到错误 - “编译错误 - 参数不是可选的”
请帮忙。
解决方案
不确定它应该如何与范围一起工作,但我试图在单元格级别修复您的代码
尝试使用这个:
str1 = "New to Qualified and" & Range("F7")
str2 = "TCV Change and" & Range("F7")
...
With Application.WorksheetFunction
Range("J7").Value = _
IIf(.And(Range("G7") = "NA", Range("F7") = "Qualified"), "New to Qualified", _
IIf(.And(Range("G7") = "NA", Range("F7") <> "Qualified"), str1, _
IIf(.And(Range("G7") <> "NA", Range("F7") = "Qualified"), IIf(.And(Range("H7") <> Range("G7")), "TCV Change", "Same"), _
IIf(.And(Range("G7") <> "NA", Range("F7") <> "Qualified"), IIf(Range("H7") = "NA", "TCV Change", IIf(Range("H7") <> Range("G7"), str2, Range("F7"))), ""))))
End With
推荐阅读
- swift - Swift:一个接一个的两个动画
- php - 如何在变量数据中添加逗号?
- javascript - 如何确保 Node.js 中 setTimeout() 的最小延迟?
- reactjs - 如何放大复杂的 svg 结构
- android - 编辑 MultiAutocompleteTextView 样式
- node.js - 找不到本地工作区文件('angular.json')
- apache-spark - Spark 中的 ReduceByKey 和 parititionBy
- c++ - 这两种通过引用传递的 C++ 语法有什么区别?
- javascript - Webpack:将每个外部包放入自己的块中
- c# - 为集成测试创建默认的 HttpClientFactory