Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
VBA代码,用于分隔单元格字符串并将其复制到其他工作表中的下一行_Vba_Excel - Fatal编程技术网

VBA代码,用于分隔单元格字符串并将其复制到其他工作表中的下一行

VBA代码,用于分隔单元格字符串并将其复制到其他工作表中的下一行,vba,excel,Vba,Excel,我正在寻找一个VBA代码,它将: 将工作表1中的A列数据复制到工作表2中的A列,并针对工作表1中的每一行:如果第一行C列的文本用逗号分隔,则复制每个值,用逗号分隔,并在工作表2中创建新行,以便在复制A列的值时,将所有这些值都放在连续行中(仅限)从第1页开始,也将其放在一起,并在发生这种情况时将其余列留空 下面是表1的示例 下面是如何在第2页中进行翻译 我对VBA有点陌生,但我一直在研究和尝试不同的代码来表示我所寻找的,但到目前为止,我所能找到或创建的任何代码都不适合我 谢谢你的帮助 下面是一

我正在寻找一个VBA代码,它将:

将工作表1中的A列数据复制到工作表2中的A列,并针对工作表1中的每一行:如果第一行C列的文本用逗号分隔,则复制每个值,用逗号分隔,并在工作表2中创建新行,以便在复制A列的值时,将所有这些值都放在连续行中(仅限)从第1页开始,也将其放在一起,并在发生这种情况时将其余列留空

下面是表1的示例

下面是如何在第2页中进行翻译

我对VBA有点陌生,但我一直在研究和尝试不同的代码来表示我所寻找的,但到目前为止,我所能找到或创建的任何代码都不适合我


谢谢你的帮助

下面是一个基于字符串(可以从单元格内容中获得)设置数组的小示例,然后在数组中循环,并将数组的值分别放在一行中。希望您能在此基础上进一步满足您的需求:

Sub loopingz()

Dim i As Long
Dim currentRow As Long
Dim myArray() As String
Dim myString As String

myString = "25,26,39"
myArray = Split(myString, ",")
currentRow = 1


For i = LBound(myArray) To UBound(myArray)
    Range("A" & currentRow).Value2 = myArray(i)
    currentRow = currentRow + 1
Next i

End Sub

您可以研究在新数组中使用
Split
函数,例如
myArray=Split(myString,“,”)
其中
myString
将等于“25,28,39”-这将为您提供一个包含3个元素的数组,25,28和39!除此之外,您只需要一个行计数器,一个主循环遍历所有行,另一个循环遍历数组,每次通过拆分填充单元格内容。