ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro to delete specific rows (https://www.excelbanter.com/excel-programming/379767-macro-delete-specific-rows.html)

Gert-Jan[_2_]

Macro to delete specific rows
 
Hi,

In sheet1, range A1:P40 I have values. In the range A1:A40 there are ID
numbers. In sheet2, range (A1:A10) there are also ID numbers, wich might
correspondend to the range A1:A40 in Sheet1. I want a macro that deletes the
rows in sheet1 with the ID-numbers that are in sheet2.

Any help would be appriciated.

Beste regards, Gert-Jan



Gert-Jan[_2_]

Macro to delete specific rows
 
Hi Martin,

Thanks, but it doesn't work. When I remove the error line, I will get an
error.

Regards, Gert-Jan

"Martin Fishlock" schreef in bericht
...
Hi Gert-Jan,

Try this one:

Option Explicit

Sub delrows()

Dim lData As Long
Dim ans As Variant
On Error Resume Next
For lData = 40 To 1 Step -1
ans = -1
ans = Application.WorksheetFunction.Match( _
Worksheets("sheet1").wsData.Cells(lData, 1), _
Worksheets("sheet2").Range("A1:A10"), 0)
If ans < -1 Then wsData.Rows(lData).Delete
Next lData
End Sub

--
Hope this helps
Martin Fishlock, Bangkok, Thailand
Please do not forget to rate this reply.


"Gert-Jan" wrote:

Hi,

In sheet1, range A1:P40 I have values. In the range A1:A40 there are ID
numbers. In sheet2, range (A1:A10) there are also ID numbers, wich might
correspondend to the range A1:A40 in Sheet1. I want a macro that deletes
the
rows in sheet1 with the ID-numbers that are in sheet2.

Any help would be appriciated.

Beste regards, Gert-Jan






Gert-Jan[_2_]

Macro to delete specific rows
 
This works fine:

Sub DelDups_TwoLists()
Dim iListCount As Integer
Dim iCtr As Integer
Application.ScreenUpdating = False
iListCount = Sheets("sheet1").Range("A1:A100").Rows.Count
For Each x In Sheets("Sheet2").Range("A1:A100")
For iCtr = 1 To iListCount
If x.Value = Sheets("Sheet1").Cells(iCtr, 1).Value Then
Sheets("Sheet1").Cells(iCtr, 1).Delete xlShiftUp
iCtr = iCtr + 1
End If
Next iCtr
Next
Application.ScreenUpdating = True
End Sub


"Martin Fishlock" schreef in bericht
...
Hi Gert-Jan,

Try this one:

Option Explicit

Sub delrows()

Dim lData As Long
Dim ans As Variant
On Error Resume Next
For lData = 40 To 1 Step -1
ans = -1
ans = Application.WorksheetFunction.Match( _
Worksheets("sheet1").wsData.Cells(lData, 1), _
Worksheets("sheet2").Range("A1:A10"), 0)
If ans < -1 Then wsData.Rows(lData).Delete
Next lData
End Sub

--
Hope this helps
Martin Fishlock, Bangkok, Thailand
Please do not forget to rate this reply.


"Gert-Jan" wrote:

Hi,

In sheet1, range A1:P40 I have values. In the range A1:A40 there are ID
numbers. In sheet2, range (A1:A10) there are also ID numbers, wich might
correspondend to the range A1:A40 in Sheet1. I want a macro that deletes
the
rows in sheet1 with the ID-numbers that are in sheet2.

Any help would be appriciated.

Beste regards, Gert-Jan







All times are GMT +1. The time now is 05:12 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com