ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Question on a Chip Pearson macro (https://www.excelbanter.com/excel-programming/351387-question-chip-pearson-macro.html)

[email protected]

Question on a Chip Pearson macro
 
All -

It is with no little temerity that I post this question about a Chip
Pearson macro found at:

http://www.cpearson.com/excel/deleting.htm

The subject is deleting duplicate rows. The code is below and I don't
understand variables Col, C, and N.

Col appears assigned and never used. N appears assigned and
incremented, but never used. And C appears to be neither. My sense is
that it should be

V = Rng.Cells(r, Col).value

and

....CountIf(Col, V) 1 Then

But I don't know, and I don't understand, particularly N and C. N is
the number of deletions, but nothing seems to use N.

Deleting Duplicate Rows is something I want to do.

Thanks in advance, and awaiting enlightenment.
....best, Hash


Public Sub DeleteDuplicateRows()
'
' This macro deletes duplicate rows in the selection. Duplicates are
' counted in the COLUMN of the active cell.

Dim Col As Integer
Dim r As Long
Dim C As Range
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Col = ActiveCell.Column

If Selection.Rows.Count 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If

N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 1).Value
If Application.WorksheetFunction.CountIf(Rng.Columns( 1), V) 1 Then
Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub

Martin Fishlock[_3_]

Question on a Chip Pearson macro
 
Hash:

It appears that these are not needed.

As always this is one of the things that VBA is lacking - code analysis,
that is unless someone else knows otherwise.

--
HTHs Martin


" wrote:

All -

It is with no little temerity that I post this question about a Chip
Pearson macro found at:

http://www.cpearson.com/excel/deleting.htm

The subject is deleting duplicate rows. The code is below and I don't
understand variables Col, C, and N.

Col appears assigned and never used. N appears assigned and
incremented, but never used. And C appears to be neither. My sense is
that it should be

V = Rng.Cells(r, Col).value

and

....CountIf(Col, V) 1 Then

But I don't know, and I don't understand, particularly N and C. N is
the number of deletions, but nothing seems to use N.

Deleting Duplicate Rows is something I want to do.

Thanks in advance, and awaiting enlightenment.
....best, Hash


Public Sub DeleteDuplicateRows()
'
' This macro deletes duplicate rows in the selection. Duplicates are
' counted in the COLUMN of the active cell.

Dim Col As Integer
Dim r As Long
Dim C As Range
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Col = ActiveCell.Column

If Selection.Rows.Count 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If

N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 1).Value
If Application.WorksheetFunction.CountIf(Rng.Columns( 1), V) 1 Then
Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub


Chip Pearson

Question on a Chip Pearson macro
 
Those variables are left-overs from a more complicated macro from
which this one was adapted. They are not needed.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


wrote in message
news:0BABf.11990$bF.8146@dukeread07...
All -

It is with no little temerity that I post this question about a
Chip
Pearson macro found at:

http://www.cpearson.com/excel/deleting.htm

The subject is deleting duplicate rows. The code is below and
I don't
understand variables Col, C, and N.

Col appears assigned and never used. N appears assigned and
incremented, but never used. And C appears to be neither. My
sense is
that it should be

V = Rng.Cells(r, Col).value

and

...CountIf(Col, V) 1 Then

But I don't know, and I don't understand, particularly N and C.
N is
the number of deletions, but nothing seems to use N.

Deleting Duplicate Rows is something I want to do.

Thanks in advance, and awaiting enlightenment.
...best, Hash


Public Sub DeleteDuplicateRows()
'
' This macro deletes duplicate rows in the selection.
Duplicates are
' counted in the COLUMN of the active cell.

Dim Col As Integer
Dim r As Long
Dim C As Range
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Col = ActiveCell.Column

If Selection.Rows.Count 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If

N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 1).Value
If Application.WorksheetFunction.CountIf(Rng.Columns( 1), V)
1 Then

Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub




[email protected]

Question on a Chip Pearson macro
 
Chip -

Thank you, and thank you for showing the way. I was about to start a
sorting macro that put duplicates together and de-dupe from there.

No surprise, but your way is better.

....best, Hash

In article ,
"Chip Pearson" wrote:

Those variables are left-overs from a more complicated macro from
which this one was adapted. They are not needed.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


wrote in message
news:0BABf.11990$bF.8146@dukeread07...
All -

It is with no little temerity that I post this question about a
Chip
Pearson macro found at:

http://www.cpearson.com/excel/deleting.htm

The subject is deleting duplicate rows. The code is below and
I don't
understand variables Col, C, and N.

Col appears assigned and never used. N appears assigned and
incremented, but never used. And C appears to be neither. My
sense is
that it should be

V = Rng.Cells(r, Col).value

and

...CountIf(Col, V) 1 Then

But I don't know, and I don't understand, particularly N and C.
N is
the number of deletions, but nothing seems to use N.

Deleting Duplicate Rows is something I want to do.

Thanks in advance, and awaiting enlightenment.
...best, Hash


Public Sub DeleteDuplicateRows()
'
' This macro deletes duplicate rows in the selection.
Duplicates are
' counted in the COLUMN of the active cell.

Dim Col As Integer
Dim r As Long
Dim C As Range
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Col = ActiveCell.Column

If Selection.Rows.Count 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If

N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 1).Value
If Application.WorksheetFunction.CountIf(Rng.Columns( 1), V)
1 Then

Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub




[email protected]

Question on a Chip Pearson macro
 
Martin -

Thank you. Chip confirmed what we suspected.

....best, Hash
In article ,
Martin Fishlock wrote:

Hash:

It appears that these are not needed.

As always this is one of the things that VBA is lacking - code analysis,
that is unless someone else knows otherwise.

--
HTHs Martin


" wrote:

All -

It is with no little temerity that I post this question about a Chip
Pearson macro found at:

http://www.cpearson.com/excel/deleting.htm

The subject is deleting duplicate rows. The code is below and I don't
understand variables Col, C, and N.

Col appears assigned and never used. N appears assigned and
incremented, but never used. And C appears to be neither. My sense is
that it should be

V = Rng.Cells(r, Col).value

and

....CountIf(Col, V) 1 Then

But I don't know, and I don't understand, particularly N and C. N is
the number of deletions, but nothing seems to use N.

Deleting Duplicate Rows is something I want to do.

Thanks in advance, and awaiting enlightenment.
....best, Hash


Public Sub DeleteDuplicateRows()
'
' This macro deletes duplicate rows in the selection. Duplicates are
' counted in the COLUMN of the active cell.

Dim Col As Integer
Dim r As Long
Dim C As Range
Dim N As Long
Dim V As Variant
Dim Rng As Range

On Error GoTo EndMacro
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Col = ActiveCell.Column

If Selection.Rows.Count 1 Then
Set Rng = Selection
Else
Set Rng = ActiveSheet.UsedRange.Rows
End If

N = 0
For r = Rng.Rows.Count To 1 Step -1
V = Rng.Cells(r, 1).Value
If Application.WorksheetFunction.CountIf(Rng.Columns( 1), V) 1 Then
Rng.Rows(r).EntireRow.Delete
N = N + 1
End If
Next r

EndMacro:

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub



All times are GMT +1. The time now is 06:37 PM.

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