Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 拆分文本+;将值分为两个单元格_Excel_Vba_Loops_Split - Fatal编程技术网

Excel 拆分文本+;将值分为两个单元格

Excel 拆分文本+;将值分为两个单元格,excel,vba,loops,split,Excel,Vba,Loops,Split,我一直在尝试让我的宏过滤整个专栏,但没有能够使循环等预执行任务 单元格中的文本如下所示 Name 12 (gap..) (gap..) Name 32 (gap..) (gap..) Name 2 等 这段代码工作得很完美,但显然只适用于A2 Dim avarSplit As Variant avarSplit = Split(Range("A2").Value, "Name") Cells(2, 1) = "Name" Cells(2, 2) = avarSplit(1) 任何帮助/建议都

我一直在尝试让我的宏过滤整个专栏,但没有能够使循环等预执行任务

单元格中的文本如下所示

Name 12
(gap..)
(gap..)
Name 32
(gap..)
(gap..)
Name 2

这段代码工作得很完美,但显然只适用于A2

Dim avarSplit As Variant
avarSplit = Split(Range("A2").Value, "Name")
Cells(2, 1) = "Name"
Cells(2, 2) = avarSplit(1)
任何帮助/建议都很好

谢谢更新! 好的,修正你问题中的格式已经完全改变了一切,试试这个

Sub SplitTxt()
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Not IsEmpty(Cells(i, 1)) Then
            Cells(i, 2) = Split(Cells(i, 1), chr(32))(0)
        End If
    Next
End Sub

这将放置单元格字符串的第二部分。分隔符是空格,Chr(32)

Sub-SplitText(),表示I=2到单元格(Rows.Count,1)。End(xlUp)。Row-Cells(I,2)=Split(Cells(I,1),“Roosters”)(1)下一个End-Sub像这样吗?因为我的下标超出了范围。PS感谢您的快速回复您可能会得到超出范围的下标,因为拆分数组中的单词少于1个。如果单元格等于
Name 1
,则在末尾使用
(1)
调用
Split(…)(1)
,将导致索引外错误
Ubound(splitedarr)
作为一个元素等于
1
,并且
spliterarr(1)
正在尝试调用不存在的第二个元素。简单地说,确保一个单元格中至少有2个
Name
字符串我有这样一个:从代码“Sub SplitTxt()Dim i&,arr For i=2到单元格(Rows.Count,1)。End(xlUp)。Row arr=Split(单元格(i,1),“Name”)下一步我结束Sub@user2742754那么你现在的问题是什么呢?再一次你好。对不起,我刚刚从上面重新阅读了我的问题(空白处…)是新行!!对不起,当我打印出来时,它们被放在新行上-所以你永远不会在同一个单元格中看到名称12名称32。它总是名称32(新行)名称12等等