[英]Formula within vba as a variable
我试图简单地将这些公式作为VBA中的变量。
单元格C1合并到F1。 以下返回所需的值。
公式:
=LEFT(C1,FIND(" ",C1)-1)
=第一个字
=MID(C1,SEARCH(" - ",C1)+3,4)
= 123
VBA:
Dim SUBname, SUBnum As String
SUBname = Formula = "=LEFT(Selection,FIND("" "",Selection)-1)"
SUBnum = Formula = "=MID(Selection,SEARCH("" - "",Selection)+3,4)"
Debug.Print "SubName: "; SUBname
Debug.Print "Sub#: "; SUBnum & vbNewLine
调试都返回False
。
我的代码的前一部分选择合并的标头。 如果可以的话,我想坚持选择。
我究竟做错了什么?
Left和Mid是vba函数使用它们:
SUBname = LEFT(Selection,INSTR(Selection," ")-1)
和
SUBnum = MID(Selection,INSTR(Selection," - ")+3,4)
您得到False
的原因是结果是询问Formula
是否等于公式字符串。 如果不是,则将False
返回到变量。
MID
和LEFT
的替代方法,假设您具有以下字符串:
Text1 - 123
Text2 - 456
Text3 - 789
您可以通过以下方式大写获取此类字符串的第一个单词:
SUBname = Ucase(Split(String, " - ")(0))
第二部分(数字不需要大写):
SUBnum = Split(String, " - ")(1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.