我试图运行我的第一个宏,对着几乎11k行的数据集。但是,当我运行它,它冻结Excel,使我不得不强制退出它。运行无限循环的宏
我希望发生的是每行的单元格11中包含1-5个元素“blue | grey | round”。我想将整行复制到每个元素的新工作表,将该行中的单元格11更新为元素。
所以在这个例子中,对于上面的4个元素,4行(每个元素一个)将被写入新的工作表。
Option Explicit
Sub ReorgData2()
Dim i As Long
Dim WrdArray() As String
Dim element As Variant
Application.ScreenUpdating = False
With Sheets("Sheet5")
For i = 1 To Rows.Count
WrdArray() = Split(.Cells(i, 11), "|")
For Each element In WrdArray()
ActiveCell.EntireRow.Copy
Sheets("Sheet6").Paste
Sheets("Sheet6").Cells(i, 11) = element
Next element
Next i
End With
Application.ScreenUpdating = True
End Sub
如果单元格K15包含有类似“ ”123 | 4567 | ABC | DEF“'要复制的活动行(无论行,可能是)到Sheet6 4倍,然后将Sheet6上的K15更改为“123”,然后更改为“4567”,然后更改为“abc”,然后更改为“def”。为什么不复制活动行一次并将K15设置为'“def”'(而不是先将其设置为所有其他值)?你是否打算/需要将活动行复制到Sheet6中的每一行? (这可能是100万+单行的副本,只有K列不同,而且只有前面的11000行。) – YowE3K
伟大的一点 - 我会改变它 – Emile
其实,你不会得到100万份+你只是对表单执行“粘贴”,而不是对表单中的“i”进行排序。如果这种方法甚至有效,我认为它会不断粘贴到Sheet6的“活动”行,或者可能粘贴到Sheet6的第一行。 – YowE3K