我試圖運行我的第一個宏,對着幾乎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