Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel vba中的公式作为变量_Excel_Vba - Fatal编程技术网

Excel vba中的公式作为变量

Excel vba中的公式作为变量,excel,vba,Excel,Vba,我试图简单地将这些公式作为VBA中的变量获取 单元格C1合并到F1。下面返回所需的值 公式: 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.Prin

我试图简单地将这些公式作为VBA中的变量获取

单元格C1合并到F1。下面返回所需的值

公式:

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
=左(C1,FIND(“,C1)-1)
=第一个字

=MID(C1,搜索(“-”,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
对于这两种情况,Debug都返回
False

我的代码前面的部分选择合并的头。如果可以的话,我想坚持选择


我做错了什么?

左和中是vba函数使用它们的地方:

SUBname = LEFT(Selection,INSTR(Selection," ")-1)


得到
False
的原因是结果询问
Formula
是否等于公式字符串。它不是一个变量,因此它向变量返回
False

左和中是vba函数使用它们:

SUBname = LEFT(Selection,INSTR(Selection," ")-1)


得到
False
的原因是结果询问
Formula
是否等于公式字符串。它不是一个变量,因此它向变量返回
False

MID
LEFT
的替代方案,假设您有如下字符串:

Text1 - 123
Text2 - 456
Text3 - 789
您可以通过以下方式获取此类字符串的第一个大写单词:

SUBname = Ucase(Split(String, " - ")(0))
第二部分(不需要ucase的数字):


作为
MID
LEFT
的替代,假设您有如下字符串:

Text1 - 123
Text2 - 456
Text3 - 789
您可以通过以下方式获取此类字符串的第一个大写单词:

SUBname = Ucase(Split(String, " - ")(0))
第二部分(不需要ucase的数字):


SUBname=LEFT(Selection,INSTR(Selection,”)-1)
SUBname=Formula=“=LEFT(Selection,FIND(“”),Selection)-1)
将根据
公式
LEFT(Selection,FIND(“”),Selection)-1的比较,将变量
SUBname
设置为
True
False
。VBA具有内置函数来完成此操作<代码>左侧,
中间
,和
仪表
。顺便说一句,在
Dim子名称中,子名称作为字符串
,只有子名称是字符串,子名称是变体。必须明确vba中的每个变量。
SUBname=LEFT(Selection,INSTR(Selection,”)-1)
SUBname=Formula=“=LEFT(Selection,FIND(“”),Selection)-1)”
将根据
公式
=LEFT的比较,将变量
SUBname
设置为
True
False
(选择,查找(“”,选择)-1)
.VBA有内置函数来实现这一点…
Left
Mid
InStr
。顺便说一句,在
Dim SUBname中,SUBnum作为字符串,只有SUBnum是字符串,SUBname是一个变量。必须明确VBA中的每个变量。如何将左公式大写?用
UCase()包装它
祝贺100K:)我怎样才能将左公式大写?用
UCase()将其包装起来。
祝贺100K:)