Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vergleichen und löschen

Vergleichen und löschen
poppi1984
Hallo Leute!
Ich habe ein paar Daten (ca.30.000) die bearbeitet werden müssten (am besten per VBA)
Es können die gleichen werte in (Spalte A und B) in mehreren Zeilen stehen. Es soll aber nur der Wert in Spalte C (der größte) stehen bleiben.
Hier mal ein Beispiel mit einem Auschnitt.
https://www.herber.de/bbs/user/76953.xls
Ich hoffe ihr könnt mir helfen
ciao ciao Jan

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Vergleichen und löschen
11.10.2011 11:09:52
Rudi
Hallo,
nach A, B und C absteigend sortieren
E1: =(A2=A1)*(B2=B1) und runter kopieren. E nach 1 Filtern und Zeilen löschen. Fertig.
Gruß
Rudi
AW: Vergleichen und löschen
11.10.2011 11:23:03
Josef

Hallo Jan,
probiere diesen Code.

' **********************************************************************
' Modul: Module1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub delDouble()
  Dim lngLast As Long
  
  On Error GoTo ErrExit
  tranquilize
  
  With ActiveSheet
    lngLast = .Cells(.Rows.Count, 1).End(xlUp).Row
    .Columns(1).Insert
    .Cells(1, 1) = "Temp"
    .Cells(2, 1).FormulaArray = "=(D2=MAX(IF(($B$2:$B$" & lngLast & "=B2)*($C$2:$C$" & lngLast & "=C2),$D$2:$D$" & lngLast & ")))*1"
    .Range(.Cells(2, 1), .Cells(lngLast, 1)).FillDown
    .Calculate
    .Range(.Cells(2, 1), .Cells(lngLast, 1)) = .Range(.Cells(2, 1), .Cells(lngLast, 1)).Value
    .Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:="0"
    .Range("A2:A" & lngLast).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    .Range("A1").CurrentRegion.AutoFilter
    .Columns(1).Delete
  End With
  
  ErrExit:
  tranquilize True
End Sub


Public Sub tranquilize(Optional ByVal Modus As Boolean = False)
  Static lngCalc As Long
  
  With Application
    .ScreenUpdating = Modus
    .EnableEvents = Modus
    .DisplayAlerts = Modus
    .EnableCancelKey = IIf(Modus, 1, 0)
    If Not Modus Then lngCalc = .Calculation
    If Modus And lngCalc = 0 Then lngCalc = -4105
    .Calculation = IIf(Modus, lngCalc, -4135)
    .Cursor = IIf(Modus, -4143, 2)
  End With
  
  If Modus Then
    With Err
      If .Number <> 0 Then
        MsgBox IIf(Erl, vbLf & "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
          "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbLf & _
          .Description, vbExclamation, "Fehler"
      End If
      .Clear
    End With
  End If
End Sub



« Gruß Sepp »

Anzeige
AW: Vergleichen und löschen
11.10.2011 12:43:23
poppi1984
Schon Erledigt DANKE!!!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige