Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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中将行项目拆分为3行_Excel - Fatal编程技术网

在Excel中将行项目拆分为3行

在Excel中将行项目拆分为3行,excel,Excel,我有一张Excel表格,我需要将项目分成3行。目前,我的行项目都在同一行。第一行需要创建广告组,第二行创建文本广告和url,第三行添加关键字 请看谷歌链接,它包含两张表单,一张叫做错误,另一张叫做正确 如果您能帮我解决这个问题,我将不胜感激。我有超过30k的产品要这样做 谢谢 这是经过测试的,将按照您在新工作表中的描述将当前行拆分为3行,这样原始数据就不会被更改 Sub SplitAds() Dim thissheet As Worksheet Set thissheet = ActiveS

我有一张Excel表格,我需要将项目分成3行。目前,我的行项目都在同一行。第一行需要创建广告组,第二行创建文本广告和url,第三行添加关键字

请看谷歌链接,它包含两张表单,一张叫做错误,另一张叫做正确

如果您能帮我解决这个问题,我将不胜感激。我有超过30k的产品要这样做


谢谢

这是经过测试的,将按照您在新工作表中的描述将当前行拆分为3行,这样原始数据就不会被更改

Sub SplitAds()

Dim thissheet As Worksheet
Set thissheet = ActiveSheet

Sheets.Add
Dim newsheet As Worksheet
Set newsheet = ActiveSheet

'Copy Headers
thissheet.Range("A1").EntireRow.Copy
newsheet.Range("A1").PasteSpecial (xlPasteValues)

Dim newrow As Long
For x = 0 To thissheet.Range("A65535").End(xlUp).Row
If Not thissheet.Range("A2").Offset(x, 0).Value = "" Then
thissheet.Range("A2:C2").Offset(x, 0).Copy
'Copy & Paste A:C
newsheet.Range("A2").Offset(newrow, 0).PasteSpecial (xlPasteValues)
newsheet.Range("A2").Offset(newrow + 1, 0).PasteSpecial (xlPasteValues)
newsheet.Range("A2").Offset(newrow + 2, 0).PasteSpecial (xlPasteValues)
'Set Type
newsheet.Range("L2").Offset(newrow, 0).Value = thissheet.Range("L2").Offset(x, 0).Value
newsheet.Range("L2").Offset(newrow + 1, 0).Value = thissheet.Range("L2").Offset(x, 0).Value
newsheet.Range("L2").Offset(newrow + 2, 0).Value = thissheet.Range("L2").Offset(x, 0).Value
'Set D:J on 2nd
thissheet.Range("D2:J2").Offset(x, 0).Copy
newsheet.Range("D2").Offset(newrow + 1, 0).PasteSpecial (xlPasteValues)
'Set Keyword on 3rd
newsheet.Range("K2").Offset(newrow + 2, 0).Value = thissheet.Range("K2").Offset(x, 0).Value
newrow = newrow + 3
End If
Next

End Sub

我不知道该怎么用。看起来像宏?请告诉我如何实施。谢谢这实际上为每个广告组创建了9行。此代码不考虑空白行,这是需要的。我将其更新为空白行。原始数据是否与“错误方式”表一样?