我一直在嘗試這個小時,並沒有得到任何地方。我正在使用下面的代碼基於F列中的值創建新的工作表。代碼創建工作表,但是將信息複製並粘貼到原始工作表中,而不是新的工作表中。代碼如下。基於值創建新的工作表
Sub RunMe()
For Each cell In Range(Range("F2:"), Range("F" & Rows.Count).End(xlUp))
cell.EntireRow.Copy
On Error GoTo CreateSheet
Sheets(cell.Value).Select
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Next cell
Application.CutCopyMode = False
Exit Sub
CreateSheet:
Worksheets.Add.Name = cell.Value
Resume
End Sub
我從Google上借了幾個小時。它創建工作表,但它們是空白的。
請幫忙!
我發佈了一個答案,認爲你的'Resume'是一個'Resume Next',然後意識到它不是。所以我嘗試了你的代碼,除了在'Range(「F2:」)''中多餘的':',你的代碼工作。 (我不喜歡**的方式**它的工作原理,因爲'Select'語句應儘可能避免,但這並不會改變它實際上工作的事實。) – YowE3K
同意@YowE3K - 它可以很容易地被'使用Sheets(cell.Value)'而不是'Sheets(cell.Value).Select'和'On Error GoTo CreateSheet'不必在循環內重複,因爲它沒有被重置爲'On Error GoTo 0 '隨時隨地。 – Jeeped