Tag: eval

将链接两个表单的文本string转换为工作公式

我试图将文本string转换为公式,但是我的文本string有点不寻常,因为它描述了两个工作表之间的链接。 这是起始公式: +TEXT("+'X:\Deals\ONE-PAGERS\_One-pagers (vM)\["&TRIM(LEFT(SUBSTITUTE($B9," ",REPT(" ",30)),64))&" vM.xlsx]Metrics'!$D$8",1) 我创build了这个公式,以避免手动链接大量的电子表格。 它捕获单元格的前两个单词,并将其放置到可build立链接的文本string中(如果是公式)。 这样,我可以简单地将公司名称input到单元格B9中,并且此公式将生成一个描述我想要的链接的文本string。 这里是公式输出: +'X:\Deals\ONE-PAGERS\_One-pagers (vM)\[xxx vM.xlsx]Metrics'!$D$8 正如你所看到的,如果这是一个公式,它会生成一个链接,它将返回xxx工作表的Cell D8中的值。 我已经尝试了评估解决方法(见下面)以及间接function,似乎都没有工作。 让我知道如果这没有任何意义,并提前感谢您的帮助! Function EvalCell(RefCell As String) Application.Volatile EvalCell = Evaluate(RefCell) End Function

如何使用variables在VBA中设置属性(Excel)

拿这个代码: With ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, w, h).TextFrame .Parent.Line.Visible = False .Parent.Fill.ForeColor.RGB = RGB(r, g, b) End With 有没有任何VBA的方式来“执行”或“评估”就像可以在perl / python / …完成,使文本.Parent.Line.Visible可以从variables(或单元格值)绘制,而不是硬编码? ParentLine = ".Parent.Line.Visible" ParentLineValue = "False" With ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, w, h).TextFrame **eval**(ParentLine & "=" & ParentLineValue) .Parent.Fill.ForeColor.RGB = RGB(r, g, b) End With 编辑:我发现Access提到Eval的MSDN信息 ,但是当我执行我的代码它说:“未定义的子或function”,指向Eval(Excel似乎不知道这个function)。 编辑2:find最终(负面)的答案 。 编辑3:似乎有一个答案毕竟,因为我不是一个通用的解决scheme的任意代码执行。 感谢GSerg帮助使用CallByName。

从另一张表中评估公式作为当前工作表

我试图使用Eval()来获取存储在Main上的一些函数,并使用Sheet2中的值对它们进行评估。 到目前为止静态引用主要和纯文本的工作,但我有麻烦引用相对单元格。 理想情况下,主工作表结合了静态和相对引用,并将列下的函数应用于表中的行(在本例中为A7,A8 …)。 单引号是为了形成SQL。 这是我试图实现的function之一。 =CONCATENATE(Main!$B$30, "'", A7, "', '", B7, "', '", C7, "', '", D7, "', '", E7, "', '",F7, "', '",G7, "', '",H7, "', '",I7, "', '",J7, "', '", K7, "', ",$B$4,Main!$B$35) 我认为这个问题出现在我的Eval函数中,它不会将A7作为活动工作表中的单元格值进行计算。 我正在研究一种方法来改变function像CurrentSheet!A7,但找不到正确的语法。 Function Eval(Ref As Range) Dim shCurrent As Worksheet: Set shCurrent = ActiveSheet Application.Volatile Application.ThisCell.Parent.Activate Eval = Application.ThisCell.Parent.Evaluate(Ref.Formula) […]

Eval内的Excel评估

我在VBA中使用自定义eval函数。 但是,评估包含另一个eval()的公式将失败: =Eval(I21) 单元格I21 :(公式本身的作品)注意:INDIRECT()也不起作用 '=MATCH("SOME TEXT",eval($I$22),0) 单元格I22 :(位置参考) ''1516Activity'!$C:$C VBA: Function Eval(Ref As String) Application.Volatile Eval = Application.ThisCell.Parent.Evaluate(Ref) End Function

使用其他Excel单元格的string值在公式中表示Excel单元格地址?

说我想这个formula = SUM(startcell:endcell)types的答案formula = SUM(startcell:endcell)但是startcell和endcell组件改变。 因此,我不想直接在公式中使用C1来表示单元格C1的值,我希望能够使用任何值和B1, B2, and B3来构造能够在公式中表示C1东西? 也许更好的方法来问这个问题:Excel是否有类似Python的eval() ?

如何在VBA中运行一个string作为命令

我有下面这个简单的VBA代码,我不知道为什么不工作。 Sub Run() test = "MsgBox" & """" & "Job Done!" & """" Application.Run test End Sub 我想要做的就是把VBA命令放到一个variables中作为文本,并作为命令运行。 在这种情况下,我想像MsgBox "Job Done!"一样运行 并只打印: 任务完成!