IJ列= 0内に発行された行に基づいて行を削除するにはどうすればよいですか?
どのように私はJ列= 0内で公開に基づいて行を削除するか、Excelスプレッドシートに次がありますか?
行をカットして別のシートに貼り付ける方がよいでしょう。でも、削除するだけで助けてもらえればいいと思います。
IJ列= 0内に発行された行に基づいて行を削除するにはどうすればよいですか?
どのように私はJ列= 0内で公開に基づいて行を削除するか、Excelスプレッドシートに次がありますか?
行をカットして別のシートに貼り付ける方がよいでしょう。でも、削除するだけで助けてもらえればいいと思います。
このコードは、J = 0のアクティベーションシート上の行を自動フィルタリングし、2番目のワークシートの最初の空行にコピーしてから、アクティブシートから行を削除します。
変更5枚目のなどのために、別のシートにすなわちSet ws2 = Sheets("Your Sheet Name")
またはSet ws2 = Sheets(5)
を行をコピーするには、このラインSet ws2 = Sheets(2)
Sub MoveEm()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ActiveSheet
Set ws2 = Sheets(2)
Dim rng1 As Range
Application.ScreenUpdating = False
With ws1
.AutoFilterMode = False
.Columns("j").AutoFilter Field:=1, Criteria1:="0"
With .AutoFilter.Range.Offset(1, 0).EntireRow
Set rng1 = ws2.Cells.Find("*", ws2.[a1], xlValues, , xlRows, xlPrevious)
If rng1 Is Nothing Then
Set rng1 = ws2.[a1]
Else
Set rng1 = ws2.Cells(rng1.Row + 1, "A")
End If
.Copy rng1
.Delete
End With
.AutoFilterMode = False
End With
Application.ScreenUpdating = True
End Sub
Sub Delete_Zero_Codes() ' Deletes The Zero Codes
Dim rCell As Range
Dim strAddress As String
Application.ScreenUpdating = False
With Thisworkbook.Sheets("sheetname").Columns("J")
Set rCell = .Find(What:=0, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)
If Not rCell Is Nothing Then
Do
strAddress = rCell.Address
rCell.EntireRow.Delete
Set rCell = .FindNext(Range(strAddress))
Loop Until rCell Is Nothing
End If
End With
Application.ScreenUpdating = True
End Sub
これらのマクロは、J列のゼロコードを削除し、その後、私は更新されます知っている他のシートにコピーするJ列のゼロのコードが必要な場合は、他のシートに貼り付けていないこと
+1 Niko。私はそれもコピーコンポーネントを行ったように私のバージョンを追加しました。見つけられる値があまりにも多くない場合は、Findルーチンが非常に速くなります。 – brettdj
あなたは一度だけこれを必要とする場合は、自動フィルタを使用するのが最も簡単かもしれないと手で行をコピー/削除します。実際に自動化されたソリューションを探しているかどうかは分かりません。 –
私は何をやっています。私はさまざまな製品などのExcelでINSERTステートメントを構築しています。 – PD24
@ pd24にはvbaタグが付いています。私はあなたに非常に高速な方法であると答えています – niko