VBA 字符串插值语法

标签 vba

什么是 VBA 字符串插值语法?它存在吗?

我想使用 Excel VBA 来格式化字符串。
我有一个变量 foo ,我想将它放入一个范围内的字符串中。

Dim row as Long
row = 1

myString = "$row:$row"

我希望字符串中的 $row 被插入为“1”

最佳答案

您还可以构建自定义 Format功能。

Public Function Format(ParamArray arr() As Variant) As String

    Dim i As Long
    Dim temp As String

    temp = CStr(arr(0))
    For i = 1 To UBound(arr)
        temp = Replace(temp, "{" & i - 1 & "}", CStr(arr(i)))
    Next

    Format = temp
End Function

用法与 C# 类似,只是不能直接引用字符串中的变量。例如。 Format("This will {not} work")但是 Format("This {0} work", "will") .
Public Sub Test()

    Dim s As String

    s = "Hello"
    Debug.Print Format("{0}, {1}!", s, "World")
End Sub

打印出来 Hello, World!到立即窗口。

关于VBA 字符串插值语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28221349/

相关文章:

vba - 将非空白单元格复制到下面的单元格中,对每个空白单元格重复

excel - 声明要在循环中使用的数组

excel - 谁能弄清楚为什么这个VBA脚本的整数停止增加?

vba - 偏移到另一列并在满足条件时停止

vba - Excel:如果我在同一工作簿上打开两个窗口,为什么宏在第一个窗口中停止工作?

excel - 如何将函数的结果传递给子调用?

excel - 在 VBA 中不使用 for 循环而将每行加 1

VBA:如何将变体归零?

arrays - VBA中的插入排序 - 不起作用

file - 从 Access 2010 上传文件