Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
如何在VBA中执行存储在字符串中的excel对象_Vba_Excel - Fatal编程技术网

如何在VBA中执行存储在字符串中的excel对象

如何在VBA中执行存储在字符串中的excel对象,vba,excel,Vba,Excel,我有这个。我想创建动态VBA字符串,存储在变量中,然后读取变量并执行它。我该怎么做?谢谢 Public Sub test() Dim ws As Worksheet Dim aCell As Range, Rng As Range Set ws = ThisWorkbook.Sheets("Additional_Flags") strTest = "ws.Cells(1, 3).Value = 'hellos'" End Sub 我想你应该先给变量赋值,然后再使用它 Pub

我有这个。我想创建动态VBA字符串,存储在变量中,然后读取变量并执行它。我该怎么做?谢谢

 Public Sub test()

 Dim ws As Worksheet
 Dim aCell As Range, Rng As Range

 Set ws = ThisWorkbook.Sheets("Additional_Flags")

 strTest = "ws.Cells(1, 3).Value = 'hellos'"


End Sub

我想你应该先给变量赋值,然后再使用它

Public Sub test()

Dim ws As Worksheet
Dim aCell As Range, Rng As Range

Set ws = ThisWorkbook.Sheets("Additional_Flags")

strTest  = "hellos"
ws.Cells(1, 3).Value =strTest
End Sub
只需要将工作表中的值赋给urString

 strTest = ws.Cells(1, 3).Value

VBA是一种编译语言。这意味着您的代码在执行之前会被转换为另一种语言以便执行(此“转换”由完成,您可以在该链接上阅读更多内容)。这就是说,您不能要求VBA像运行代码一样运行字符串,因为字符串在运行时得到解析,但应该首先编译代码(因此这就像要求编译器在运行时找到字符串并重新编译一样),总有一种方法可以做你想做的事情,但在这里你没有向我们展示真正的问题(我想这只是一个普通的例子)。请记住,您始终可以设计代码,以便在不需要编写“代码字符串”的情况下以友好方式执行操作,如果您确实需要对函数之类的内容进行求值,则始终可以使用
Application.evaluate
方法。你能解释清楚你需要什么吗?