Microsoft Excel

Herbers Excel/VBA-Archiv

Macro abändern

Betrifft: Macro abändern von: SS
Geschrieben am: 08.09.2004 08:11:16

Hallo

Ich habe ein Macro (siehe unten) welches nur in der ersten Spalte funktioniert. Es löscht mir doppelte Datensätze in der ersten Spalte. Was muss ich daran ändern damit es in anderen Spalten auch funktioniert wenn beim Macroaufruf sich gerade dort der Coursor befindet?
Und kann man das Macro so erweitern, dass der Cursor sich hinterher unterhalb der letzten beschriebenen Zelle positioniert (in der Spalte)?

Vielen Dank für die Hilfe


Sub DblFind()
'
' Makro1 Makro
' Makro am 24.07.2004 von Customer aufgezeichnet
'

'
    Dim iRow As Integer, iRowL As Integer
    iRowL = Cells(Cells.Rows.Count, 1).End(xlUp).Row
    For iRow = iRowL To 1 Step -1
       If WorksheetFunction.CountIf(Columns(1), Cells(iRow, 1)) > 1 Then
           Rows(iRow).Delete
       End If
    Next iRow
    End Sub

  


Betrifft: AW: Macro abändern von: Mac4
Geschrieben am: 08.09.2004 08:25:37

Moin,

so müsste es gehen:

Sub DblFind()
'
' Makro1 Makro
' Makro am 24.07.2004 von Customer aufgezeichnet
'

'
    Dim iRow As Integer, iRowL As Integer
    iRowL = Cells(Cells.Rows.Count, ActiveCell.Column).End(xlUp).Row
    For iRow = iRowL To 1 Step -1
       If WorksheetFunction.CountIf(Columns(ActiveCell.Column), Cells(iRow, ActiveCell.Column)) > 1 Then
           Rows(iRow).Delete
       End If
    Next iRow
cells(iRowL+1,activecell.column).select
    End Sub


Marc (aus Köln)


  


Betrifft: AW: Macro abändern von: WernerB.
Geschrieben am: 08.09.2004 08:28:15

Hallo ???,

in diesem Forum bitte mit Real(vor)namen auftreten; siehe dazu bitte auch die "Forums-FAQ"!. Danke!

Wie gefällt Dir das (ungetestet)?
Sub DblFind()
Dim iCol As Integer
Dim iRow As Long, iRowL As Long
    iCol = ActiveCell.Column
    iRowL = Cells(Cells.Rows.Count, iCol).End(xlUp).Row
    For iRow = iRowL To 1 Step -1
      If WorksheetFunction.CountIf(Columns(iCol), Cells(iRow, iCol)) > 1 Then
        Rows(iRow).Delete
      End If
    Next iRow
    iRowL = Cells(Cells.Rows.Count, iCol).End(xlUp).Row
    Cells(iRowL + 1, iCol).Select
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !


  


Betrifft: AW: Macro abändern von: Jens
Geschrieben am: 08.09.2004 18:31:19

Danke für die Infos. Ich werd die Beispiele bgleich mal ausprobieren

J.S.


  


Betrifft: AW: Macro abändern von: Jens
Geschrieben am: 08.09.2004 18:41:41

Hallo

Marc deine Version funktioniert leider nicht. Aber die andere ist gut und funktioniert super!!

Vielen Dank an beide nochmal für die schnelle Hilfe.

J.S.