私はこれを何時間も試してきましたが、どこにもいません。次のコードを使用して、列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
私はグーグルの時間からそれを借りました。シートを作成しますが、空白になります。
助けてください!
私はあなたの「履歴書」が「次の履歴書」であると考えて答えを出しました。だから私はあなたのコードを試して、 '' Range( "F2:") 'の無関係な': 'を除いて、あなたのコードはうまくいった。 (私は**方法**を嫌います、できるだけ 'Select'ステートメントを避けるべきですが、それは実際に働くという事実を変えません) – YowE3K
合意済み@ YowE3K - 'Sheets(cell.Value).Select'の代わりにSheets(cell.Value)で' On Error GoTo CreateSheet'を 'On Error GoTo 0 'にリセットされていないのでループ内で繰り返す必要はありません'どこでも。 – Jeeped