Arrays 使用Excel行作为分隔符拆分函数
我有一个使用过的列,我想创建一个数组,使用cell/row作为分隔符将该列拆分为若干项 类似于:Arrays 使用Excel行作为分隔符拆分函数,arrays,vba,excel,split,Arrays,Vba,Excel,Split,我有一个使用过的列,我想创建一个数组,使用cell/row作为分隔符将该列拆分为若干项 类似于:MyArray=Split(Excel.Workbooks(X).Worksheets(X).UsedRange.Columns(X),Row) 我得到类型不匹配错误 是否可能或是否有任何解决方法?函数的正确语法为拆分([String],[Delimiter String])。要在示例中实现这一点,最好创建一个循环: 例如,如果A列中有三个单词由“空格”分隔,并且您使用“空格”作为“描述字符串”,那
MyArray=Split(Excel.Workbooks(X).Worksheets(X).UsedRange.Columns(X),Row)
我得到类型不匹配
错误
是否可能或是否有任何解决方法?函数的正确语法为
拆分([String],[Delimiter String])
。要在示例中实现这一点,最好创建一个循环:
例如,如果A列中有三个单词由“空格”分隔,并且您使用“空格”作为“描述字符串”,那么您将得到:
A B C D
1 Alpha Bravo Charlie Alpha Bravo Charlie
2 Delta Echo Foxtrot Delta Echo Foxtrot
如果您正在查找拆分单元格内容,并希望将其放在工作表/工作簿中的某个位置,则可以尝试此操作
Sub split_1()
Dim myarray() As String
Dim str As String
str = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
'str = "this,sentence,seperated,by,comma"
myarray = Split(str, ",")
For i = LBound(myarray) To UBound(myarray)
Debug.Print myarray(i) 'here you can copy to other cells/sheets, etc.,
Next
End Sub
我很少不理解被问到的问题,但我不理解这个问题。如果你在寻找delimeter,而不是cell的意思,它本身是分离的,你可以按照你想要的方式复制/粘贴。如果要分隔单元格内容,则意味着您可以检查my answer.MyArray=Excel.Workbooks(X).Worksheets(X).UsedRange已被拆分,因为这会将每个单元格读入数组?如果您以前使用过拆分函数,并且知道分隔符是什么,则我很抱歉,但我的问题尽可能清楚。@LevySchiavetti您的问题不清楚,因为您没有以屏幕抓图的形式提供预期的输入和输出,也没有键入工作表前后的样子。尽管如此,我还是尝试澄清了
Split()
函数可以做什么。
Sub split_1()
Dim myarray() As String
Dim str As String
str = ThisWorkbook.Sheets("Sheet1").Range("A1").Value
'str = "this,sentence,seperated,by,comma"
myarray = Split(str, ",")
For i = LBound(myarray) To UBound(myarray)
Debug.Print myarray(i) 'here you can copy to other cells/sheets, etc.,
Next
End Sub