繁体   English   中英

VBA中的公式作为变量

[英]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返回到变量。

MIDLEFT的替代方法,假设您具有以下字符串:

Text1 - 123
Text2 - 456
Text3 - 789

您可以通过以下方式大写获取此类字符串的第一个单词:

SUBname = Ucase(Split(String, " - ")(0))

第二部分(数字不需要大写):

SUBnum = Split(String, " - ")(1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM