ワークシート内のボタンで駆動され、行をコピーして貼り付けることができるマクロを開発しています。特定の列内で特定の基準が満たされている場合は別のワークシートです。マクロをコピーして別のワークシートにペーストせずにページに貼り付けます
問題は、マクロを実行すると、他のスプレッドシートにコピー&ペーストしても、8000行目に貼り付けられているということです。目的地シート。
さらに、これは8000番目の行にペーストするだけで、すでに行内にあるものを上書きします。
マクロを同時に実行して、毎回次の使用可能な行に貼り付けるだけで、他の行を上書きするのではなく次の新しい行を探し続けるようにします。
私はログ内で書式設定をしていますが、境界線とデータ検証のドロップダウンリストの2つしかありません。
私が開発したコードは以下の通りです:
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Demand Log").UsedRange.Rows.Count
J = Worksheets("Change Log").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Change Log").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Demand Log").Range("O5:O" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Change Team" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Change Log").Range("A" & J + 0)
xRg(K).EntireRow.Delete
End If
Next
Application.ScreenUpdating = True
誰もが、それははるかに高く評価されるだろう。このマクロの開発を支援することができます。
マクロがコピー先のスプレッドシートにコピー&ペーストできるだけでなく、ソースシートから行を削除する前にその行を第3のスプレッドシートにコピーすることもできます。
感謝
以下はJ + 0を達成するだろうか?何もない。それはJです.J = 0のときはどうなりますか?私はあなたが存在しない行0で作業しようとしていることを心配しています。 – QHarr
私はOn Error Resumeを疑う次は閉じていないがエラーを隠しているので、私はUsedRangeを使って行を決定することに注意します。 – QHarr
そして、行を逆方向に削除すると、間違って削除されることがあります。 – QHarr