1

次のコードを単純化することは可能ですか? これを短くする方法はありますか:

    ' Paste last value
    Range(Cells(LastRowP + 1, 10), Cells(LastRowP + 1, 10)).Select
    Selection.Cut
    Range(Cells(LastRowP + 1, 9), Cells(LastRowP + 1, 9)).Select
    ActiveSheet.Paste
    Range(Cells(LastRowP + 2, 10), Cells(LastRowP + 2, 10)).Select
    Selection.Cut
    Range(Cells(LastRowP + 2, 9), Cells(LastRowP + 2, 9)).Select
    ActiveSheet.Paste
    Range(Cells(LastRowP + 3, 10), Cells(LastRowP + 3, 10)).Select
    Selection.Cut
    Range(Cells(LastRowP + 3, 9), Cells(LastRowP + 3, 9)).Select
    ActiveSheet.Paste

これは+20まで続きます。私はVBAとコーディングが初めてなので、ご容赦ください:)

4

3 に答える 3

5
Range(Cells(LastRowP + 1, 10), Cells(LastRowP + 20, 10)).Cut _
          Cells(LastRowP + 1, 9)

また

 Cells(LastRowP + 1, 10).Resize(20,1).Cut Cells(LastRowP + 1, 9)
于 2013-10-16T15:01:32.567 に答える
2
For i = 1 To 20
    Range(Cells(LastRowP + i, 10), Cells(LastRowP + i, 10)).Cut
    Range(Cells(LastRowP + i, 9), Cells(LastRowP + i, 9)).Select
    ActiveSheet.Paste
Next
于 2013-10-16T15:04:04.250 に答える