VBA代码,用于分隔单元格字符串并将其复制到其他工作表中的下一行
我正在寻找一个VBA代码,它将: 将工作表1中的A列数据复制到工作表2中的A列,并针对工作表1中的每一行:如果第一行C列的文本用逗号分隔,则复制每个值,用逗号分隔,并在工作表2中创建新行,以便在复制A列的值时,将所有这些值都放在连续行中(仅限)从第1页开始,也将其放在一起,并在发生这种情况时将其余列留空 下面是表1的示例 下面是如何在第2页中进行翻译 我对VBA有点陌生,但我一直在研究和尝试不同的代码来表示我所寻找的,但到目前为止,我所能找到或创建的任何代码都不适合我VBA代码,用于分隔单元格字符串并将其复制到其他工作表中的下一行,vba,excel,Vba,Excel,我正在寻找一个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!除此之外,您只需要一个行计数器,一个主循环遍历所有行,另一个循环遍历数组,每次通过拆分填充单元格内容。