我正在学习Excel-VBA,我正在努力学习如何做将在未来帮助我的事情。我一直在努力学习如何在没有循环的情况下进行简单的拆分。虽然我得到了一个我可以使用的代码,但我无法理解它 Excel VBA- Copy and paste text on left after CHAR(10)
我从我所指出的代码中学到了这个模拟。我觉得我很亲密,但无论我做什么,我都无法使语法工作。任何帮助将不胜感激。
我附上了代码和我希望在之前和之后看到的内容片段。我的代码在这一行中不起作用。
Worksheets("Sheet1").Cells(1, 2).Value = fullname
代码在
之下 Sub test()
Dim txt As String
Dim fullname As String
txt = Worksheets("Sheet1").Cells(1, 1).Value
fullname = Split(txt, Chr(10))
Worksheets("Sheet1").Cells(1, 2).Value = fullname
End Sub
答案 0 :(得分:1)
失败,因为 fullname 是数组。获得第一个元素:
Worksheets("Sheet1").Cells(1, 2).Value = fullname(0)
答案 1 :(得分:0)
正如Gary的学生所说 - fullname 将是一个阵列。您将第一个问题是类型不匹配,因为您已将 fullname 声明为字符串。
你可以将数组粘贴到一系列单元格或数组的引用元素中,正如加里在他的回答中所说。
Sub test()
Dim txt As String
Dim fullname As Variant
txt = Worksheets("Sheet1").Cells(1, 1).Value
'This will be an array containing 4 different values
'based on your A1 cell containing 3 line breaks.
fullname = Split(txt, Chr(10))
With Worksheets("Sheet1")
'The array must be pasted into 4 cells.
'.Range(.Cells(1, 2), .Cells(1, UBound(fullname) + 2)) = fullname
'the above line is the same as:
.Range("B1:E1") = fullname
End With
End Sub