Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

Doppelte Lagerplätze per VBA löschen

Doppelte Lagerplätze per VBA löschen
28.10.2014 20:45:35
Jorgi
Guten Abend,
ich hab eine Spalte mit Lagerplätze.
SpalteA
5999999
5999999
1235255
9898989
6543214
7788959
7788959
6546544
Jetzt sollen alle doppelte Lagerplätze gelöscht werden:
Dann wäre das Ergebnis so:
1235255
9898989
6543214
6546544
Wie mach ich das am besten ?
Danke
Gruß Jorgi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit Hilfsspalte und "Duplikate Entfernen"
28.10.2014 21:19:17
Daniel
Hi
wenn du die doppelten vollständig entfernen willst, dann so:
1. mindesten eine Überschriftenzeile einfügen, die Daten müssen in A2 oder später beginnen.
2. Tabelle so sortieren, dass gleiche direkt untereinander stehen
3. in einer freien Zelle der Tabelle folgende Formel eintragen:
=Wenn(Oder(A2=A1;A2=A3);0;Zeile())
ziehe die Formel bis ans Tabellende
4. Schreibe in die Überschriftenzeile der Hilfsspalte eine 0
5. wende auf die ganze Tabelle jetzt (dh incl der Hilfsspalte und der Überschirftenzeile) die Funktion :
Daten - Datentools - Duplikate entfernen an.
Verwende die Hilfsspalte als Kriteriumsspalte und die Option "keine Überschrift"
6. lösche die Hilfsspalte
wenn du nicht sortieren willst, dann kannst du als Formel auch:
=Wenn(ZählenWenn(A:A;A2)=1;Zeile();0) verwenden, was bei grösseren Datenmengen aber zu etwas längern Berechnungszeiten führen kann.
die Formeln sind immer für Zeile 2 geschrieben.
Gruß Daniel

Anzeige
AW: mit Hilfsspalte und "Duplikate Entfernen"
28.10.2014 21:30:29
Jorgi
Hallo Daniel,
Danke für deine Hilfe und mühe :-)
kann man es auch über VBA machen? Denn momentan sind es 32590 Zeilen :-()
LG Jorgi

AW: mit Hilfsspalte und "Duplikate Entfernen"
28.10.2014 21:39:13
Daniel
Hi
es spielt doch keine Rolle, ob du die Schritte für 10 oder 100.000 Zeilen ausführst!
fürs Sortieren und Duplikate entfernen markierst du eh die ganzen Spalten und wenn du sortiert hast, dann haben deine Zeilen auch keine Leerzellen mehr zwischen drin, dh. du kannst die Formel nach eingabe mit einem Doppelklick auf die rechte untere Ecke des Markierungsrahmens bis ans Datenende runterziehen (ansonten halt die Zellen mit Hilfe der ENDE-, SHIFT- und Pfeiltasten markieren um die Formel zu kopieren und einzufügen.)
ansonsten gilt die Grundregel:
alles was man von Hand in Excel machen kann, kann man auch durch ein Makro ausführen lassen, der Recorder ist dein Freund.
Wenns nicht klappt, kannst du dich ja noch mal melden, trotzdem solltest du die Aktion erstmal von Hand ausführen, schließlich willst du ja wissen, was dein Makro macht.
Gruß Daniel

Anzeige
AW: Doppelte Lagerplätze per VBA löschen
28.10.2014 23:20:35
Frank
Hallo Jorgi,
wenns denn unbedingt per VBA sein soll, dann so:
Sub dr()
z1 = 1
Do While Not Cells(z1, 1).Value = ""
z2 = z1 + 1
lz1 = Range("A1").End(xlDown).Row
Do While Not z2 > lz1
W1 = Cells(z1, 1).Value
W2 = Cells(z2, 1).Value
If W1 = W2 Then
Cells(z2, 1).EntireRow.Delete
Cells(z1, 1).EntireRow.Delete
lz1 = lz1 - 2
Else
z2 = z2 + 1
End If
Loop
z1 = z1 + 1
Loop
End Sub
Annahme hierbei, dass die Werte in Zeile 1 beginnen. Sollte dies nicht der Fall sein, dann z1 entsprechend anpassen. Und aufgepasst, es wird die ganze Zeile gelöscht. Soll nur die Zelle gelöscht und der Rest nach oben verschoben werden, dann statt
Cells(z2, 1).EntireRow.Delete
Cells(z1, 1).EntireRow.Delete
            Cells(z2, 1).Delete Shift:=xlUp
Cells(z1, 1).Delete Shift:=xlUp
Grüsse,
Frank

Anzeige
danke an alle, werde beide variantenl heute testen
29.10.2014 04:38:10
Jorgi
.

AW: Doppelte Lagerplätze per VBA löschen
29.10.2014 00:22:05
Mullit
Hallo,
ist eigentlich nur 'n Einzeiler:
Option Explicit
Public Sub test()
ActiveSheet.Columns(1).RemoveDuplicates Columns:=1, Header:=xlNo
End Sub

Gruß,

AW: Doppelte Lagerplätze per VBA löschen
29.10.2014 00:25:29
Mullit
Hallo,
ahh war natürlich crap, Du wolltest sie ja komplett löschen...
Gruß,

AW: Doppelte Lagerplätze per VBA löschen ändern
29.10.2014 05:42:47
jorgi
Hallo
Damit es nach oben geschoben wird,ist eine klasse idee. Wie mache ich, daß die ganze Zelle gelöscht wird. Von A bis M.
BESTNDANK
Jorgi

AW: Doppelte Lagerplätze per VBA löschen ändern
29.10.2014 07:07:25
Mullit
Hallo,
ah ok, wenn Du die Einzelwerte doch behalten willst:
Option Explicit
Public Sub testneu()
With ActiveSheet
.Range(.Columns(1), .Columns(13)).RemoveDuplicates Columns:=1, Header:=xlNo
End With
End Sub
sonst analog zu Franks Code:
Option Explicit
Public Sub test()
Dim lngRow As Long
Application.ScreenUpdating = False
With ActiveSheet
For lngRow = .Cells(.Rows.Count, 1).End(xlUp).Row To 2 Step -1
If .Cells(lngRow, 1) = .Cells(lngRow - 1, 1) Then
.Cells(lngRow - 1, 1).Resize(2, 13).Delete Shift:=xlShiftUp
lngRow = lngRow - 1
End If
Next
End With
Application.ScreenUpdating = True
End Sub

Gruß,

Anzeige
AW: Doppelte Lagerplätze per VBA löschen ändern
29.10.2014 09:11:44
jorgi
HallO
Alles klasse funktioniert.
Danke
LG jorgi

AW: Doppelte Lagerplätze per VBA löschen ändern
29.10.2014 09:14:47
Daniel
Hi
ist aber nicht das, was du in deiner Eingangfrage beschrieben hast!
Du wolltest Doppelte Komplett löschen, ohne dass ein Wert stehen bleibt.
Gruß Daniel

AW: Doppelte Lagerplätze per VBA löschen ändern
29.10.2014 09:19:21
jorgi
Hallo daniel,
Oh war Fehler von mir.
Sorry aber der code ist gut.
Auch vielen dank für deine hilfe
LG jorgi

AW: Doppelte Lagerplätze per VBA löschen ändern
29.10.2014 09:28:12
Daniel
der Code ist nichts anderes, als die Funktion DATEN - DATENTOOLS - TEXT IN SPALTEN mit dem Recorder aufgezeichnet.
Der Button dafür ist ziemlich auffällig in der Menüleiste verankert.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige