excel - vba公式中的多引号
问题描述
我的第一个编码工作正常并返回正确答案。
ActiveSheet.Range("I2:I" & LastROwColumnList).Formula = "=IF(MID(F2,8,3)=""T_2"",""Team_A"",""NA2"")"
但是当试图在公式中添加更多条件时它不起作用
ActiveSheet.Range("I2:I" & LastROwColumnList).Formula = "=IF(MID(F2,8,3)=""T_2"",""Team_A"",IF(MID(F2,8,3)=""P_9"",""Team_B"",""NA"")"
我应该如何修改它?
解决方案
在工作表中手动输入公式,然后转到调试窗口并键入
print activecell.formula
然后,您可以将内引号加倍,或用单引号替换它们,然后就完成了。
你甚至可以自动化该步骤(我在 2009 年写过):
Sub RngToVba(src As Range)
'writes the VBA code to re-create the formulae in given range
'by Patrick Honorez - www.idevlop.com
'usage: from debug window, type RngToVba [L14:R14]
' or RngToVba range("L14:R14")
Dim c As Range
For Each c In src
Debug.Print "range(""" & c.Address & """).formula = """ & _
Replace(c.Formula, """", """""") & """"""
Next c
End Sub
推荐阅读
- java - Java Jackson 从多个模块中选择注册模块以将 JSON 序列化为字符串?
- pandas - 匹配 pd.Series 中的连续对
- jasper-reports - Jasper hide staticText and textField don't remove the space
- javascript - Firebase 管理员 SDK 不适用于 Cloud Scheduler (PubSub)
- visual-studio-code - How to set file association to custom .env filename in VSCode settings?
- mysql - 针对 DELETE 查询的 MySQL 性能调整
- hive - Hive LIMIT changes GROUP BY result
- r - Creating a new Group of every appearence of FALSE
- java - SQLite: Is closing and reopening a database a bad habit?
- python - 在正在运行的进程中刷新 paramiko 中的标准输出