Arrays 如何将数组中的字符连接成字符串?

Arrays 如何将数组中的字符连接成字符串?,arrays,excel,vba,string,Arrays,Excel,Vba,String,我正在尝试将文本转换为海绵宝宝模仿样式的文本,如下所示: 你好,世界你好,世界 我将字符串拆分为一个数组并转换了字母,但我不能仅将它们打印为一个数组 如何将字符连接成字符串 Private Sub CommandButton1_Click() Dim Word As String Dim i As Integer Dim Letters() As String Word = Sheet1.Range("A1").Value Letters = Split(StrConv(Word, 64),

我正在尝试将文本转换为海绵宝宝模仿样式的文本,如下所示:

你好,世界你好,世界

我将字符串拆分为一个数组并转换了字母,但我不能仅将它们打印为一个数组

如何将字符连接成字符串

Private Sub CommandButton1_Click()
Dim Word As String
Dim i As Integer
Dim Letters() As String

Word = Sheet1.Range("A1").Value

Letters = Split(StrConv(Word, 64), Chr(0))
For i = 0 To Len(Word) - 1 Step 2
    Debug.Print StrConv(Letters(i), 1)
    Debug.Print StrConv(Letters(i + 1), 2)
Next i

End Sub

对于代码,您只需创建一个新变量来保存新创建的字符串

DIM allLetters As String
然后使用
join()
方法连接
Letters()

allLetters = Join(Letters) 
这是关于加入的文档

参考文献
VBA连接函数。(注)。从

中检索代码,您只需创建一个新变量来保存新创建的字符串

DIM allLetters As String
然后使用
join()
方法连接
Letters()

allLetters = Join(Letters) 
这是关于加入的文档

参考文献 VBA连接函数。(注)。从

检索用于连接字符数组。您可以直接修改
字母的内容
以获得小写/大写交替,如下所示:

Private Sub CommandButton1_Click()
    Dim Word As String
    Word = Sheet1.Range("A1").Value

    Dim Letters() As String
    Letters = Split(StrConv(Word, 64), Chr(0))

    Dim i As Long
    For i = LBound(Letters) To UBound(Letters)
        If i Mod 2 = 0 Then
            Letters(i) = StrConv(Letters(i), 2) '<~ or `LCase$`
        Else
            Letters(i) = StrConv(Letters(i), 1) '<~ or `UCase$`
        End If
    Next

    Debug.Print Join(Letters, "")
End Sub
Private子命令按钮1\u单击()
字串
Word=Sheet1.范围(“A1”).值
将字母()设置为字符串
字母=拆分(StrConv(单词,64),Chr(0))
我想我会坚持多久
对于i=LBound(字母)到UBound(字母)
如果i Mod 2=0,那么
字母(i)=StrConv(字母(i),2)”用于连接字符数组。您可以直接修改
字母的内容
以获得小写/大写交替,如下所示:

Private Sub CommandButton1_Click()
    Dim Word As String
    Word = Sheet1.Range("A1").Value

    Dim Letters() As String
    Letters = Split(StrConv(Word, 64), Chr(0))

    Dim i As Long
    For i = LBound(Letters) To UBound(Letters)
        If i Mod 2 = 0 Then
            Letters(i) = StrConv(Letters(i), 2) '<~ or `LCase$`
        Else
            Letters(i) = StrConv(Letters(i), 1) '<~ or `UCase$`
        End If
    Next

    Debug.Print Join(Letters, "")
End Sub
Private子命令按钮1\u单击()
字串
Word=Sheet1.范围(“A1”).值
将字母()设置为字符串
字母=拆分(StrConv(单词,64),Chr(0))
我想我会坚持多久
对于i=LBound(字母)到UBound(字母)
如果i Mod 2=0,那么

Letters(i)=StrConv(Letters(i),2)“您是否尝试过使用?或者使用临时字符串变量并将每个字符连接到循环中的临时字符串?@BigBen我在next i
Result=Join(lower,”)Debug之后使用了它。在将lower声明为数组后打印结果,但它没有work@ScottCraner我该怎么做?
temp=temp&StrConv(字母(i),1)
是否尝试使用?或使用临时字符串变量并将每个字符连接到循环中的临时字符串?@BigBen我在next i
Result=Join(lower,”)Debug之后使用了此选项。在将lower声明为数组后打印结果,但没有work@ScottCraner我该怎么做?
temp=temp&StrConv(字母(I),1)
这比我的想法要好得多。它很有效!非常感谢这比我的想法要好得多。它很有效!非常感谢你的帮助,我不知道如何正确使用联接方法。@BigBen告诉我如何以及在哪里将其添加到脚本中。现在它起作用了!谢谢你的帮助,我不知道如何添加到脚本中o正确使用join方法。@BigBen告诉我如何以及在哪里将其添加到脚本中。现在它可以工作了!