ユーザーは、マクロを実行するシートを選択し、選択したシートを複数のシートに分割することが最終的な目標であるX個の行を入力できるユーザーフォームを作成していますXの行数分。Excel VBA:複数のシートに分割
コード:
Dim rowCount As Long
Dim rowEntered As Long
Dim doMath As Long
rowCount = Sheets(Me.ComboBox1.Value).Cells(Rows.Count, "A").End(xlUp).Row 'Count Number of Rows in selected Sheet
rowEntered = Val(Me.TextBox1.Value) 'User enters X amount
If rowCount < rowEntered Then
MsgBox "Enter in another number"
Else
doMath = (rowCount/rowEntered)
For i = 1 to doMath
Sheets.Add.name = "New-" & i
Next i
'Help!!
For i= 1 to doMath
Sheets("New-" & i).Rows("1:" & rowEntered).Value = Sheets(Me.ComboBox1.Value).Rows("1:" & rowEntered).Value
Next i
End If
私はそれを正しく行う方法を見つけ出すように見えることはできませんので、私は助けを必要とする場所のコードの最後のセクションは..です
コードは現在、新たにをループ追加されたシートと同じ行の「ペースト」。たとえば、選択されたシートに1000行(rowCount)があり、rowEnteredが500の場合は、2枚の新しいシートが作成されます。行1から500はNew-1に、行501-1000はNew-2に移動する必要があります。どうすればこれを達成できますか?
代わりに 'range'を使用しますか?行を保持してドロップする範囲変数を作成します。 – findwindow