/ / x行の行を個別にコピーするExcelマクロ-excel、excel-vba、vba

x行の番号を個別にコピーするExcelマクロ - excel、excel-vba、vba

私はできるマクロを作成したいと思います私には、特定の列のx個の行をコピーします。たとえば、10.500行にある列Kがあります。毎回1000行、最後に500行もコピーしたいと思います。コーディングの部分で何か助け?私は非常に多くのサイトを見ましたが、成功しませんでした。コピーした番号を他のExcelシートに貼り付ける必要はありません。選択した列から毎回1000行コピーするマクロコマンドが必要です。 どうもありがとうございました! 乾杯

回答:

回答№1は2
  1. 列を選択し、[マクロ]ダイアログ(Alt + F8)からサブプロシージャを実行します。最初の1000個のセルがクリップボードにコピーされます。
  2. データを別のプログラムに貼り付けます。
  3. Excelに戻り、サブプロシージャを再度実行します。次の1000行のデータがクリップボードにコピーされます。
  4. データの最後のグループがクリップボードにコピーされると、メッセージボックスが通知します。

    Option Explicit
    
    Sub progressiveCopy()
    Dim m As Long
    Static i As Long, k As Long
    
    Application.CutCopyMode = False
    m = 1000
    
    If k <> ActiveCell.Column Then
    k = ActiveCell.Column
    i = 0
    End If
    
    With Worksheets("sheet1")
    m = Application.Min(m, .Cells(.Rows.Count, k).End(xlUp).Row - i)
    .Cells(i + 1, k).Resize(m, 1).Copy
    i = i + m
    If i >= .Cells(.Rows.Count, k).End(xlUp).Row Then
    MsgBox "This column is complete. Select another column next time."
    End If
    End With
    End Sub
    

繰り返し操作を容易にするために、[マクロ]ダイアログのサブプロシージャにホットキーの組み合わせを設定できます。


回答№2の場合は0

このコードは、現在選択されている列。コピーする番号が残っている行より少ないかどうかをチェックします。範囲を選択し、範囲をコピーモードにします。範囲をコピーしたら、シート、ドキュメント、またはデータを貼り付けるものに移動する必要があります。

コードを変更して、1000を下に選択しました行または列に残っているもの。したがって、コードの実行、データの貼り付け、コードの実行、データの貼り付けができるはずです。最後に達すると、列の最後にいることを示すメッセージが表示されます。

Application.CutCopyMode = False
numRowstoCopy = 1000
varCurrentRow = ActiveCell.Row
varCurrentColumn = ActiveCell.Column
FinalRow = Cells(Rows.Count, varCurrentColumn).End(xlUp).Row
varRowsToEnd = FinalRow - varCurrentRow
If varRowsToEnd < numRowstoCopy Then
Range(Cells(varCurrentRow, varCurrentColumn), Cells(varCurrentRow + varRowsToEnd, varCurrentColumn)).Select
Selection.Copy
MsgBox "Last Rows to Paste Have been copied"
Else
Range(Cells(varCurrentRow, varCurrentColumn), Cells(varCurrentRow + numRowstoCopy - 1, varCurrentColumn)).Select
Selection.Copy
ActiveCell.Offset(numRowstoCopy, 0).Select
End If