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

Liste erstellen / sortieren / doppelte löschen

Liste erstellen / sortieren / doppelte löschen
MarkusH
Hallo Excel-Profis,
in einem Arbeitsblatt möchte ich per VBA-Makro eine simple Liste erstellen.
Es wird ein Wert (Name) vom Benutzer abgefragt und ans Ende der Liste in Spalte B eingetragen, in Spalte A gibt es eine fortlaufende Nummer, bspw.
1 Max
2 Moritz
3 Stefan
4 Max
Nun kann es vorkommen dass ein Name in Spalte B doppelt existiert (im Beispiel oben "Max") da dieser 2x eingegeben wurde.
In diesem Fall sollte dann die kpl. Zeile gelöscht werden.
Wie kann ich am besten vorgehen so dass ich alles in einem Makro unterbekomme?
(also erstellen der Liste nach Abfrage per Inputbox, Abfrage ob weiterer Datensatz erfasst werden soll, Ermitteln von doppelten Einträgen in Spalte B, Löschen der entsprechenden Zeile).
Ich sitze da jetzt schon fast den ganzen Tag dran. Ich denke dass man das in wenigen Zeilen erstellen kann aber ich kriegs nicht hin. :-/
Wer kann bitte helfen?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Liste erstellen / sortieren / doppelte löschen
31.07.2010 19:01:36
Josef

Hallo markus,
probier es so.

Private Sub CommandButton1_Click()
  Dim lngNext As Long, strInput As String, vntRet As Variant
  
  
  Do
    strInput = InputBox("Bitte Name eingeben:", "Eingabe", "")
    If strInput = "" Then Exit Do
    vntRet = Application.Match(strInput, Columns(2), 0)
    If IsNumeric(vntRet) Then
      MsgBox "Der Eintrag " & strInput & " ist schon vorhanden!"
    Else
      lngNext = Cells(Rows.Count, 1).End(xlUp).Row + 1
      Cells(lngNext, 1) = Application.Max(Columns(1)) + 1
      Cells(lngNext, 2) = strInput
      lngNext = lngNext + 1
    End If
  Loop
  
End Sub

Gruß Sepp

Anzeige
AW: Liste erstellen / sortieren / doppelte löschen
31.07.2010 19:44:31
MarkusH
Wahnsinn!
Die Idee doppelte Namen gar nicht zuzulassen ist super! Ich hätte für die Umsetzung allerdings 2 Wochen benötigt und 40-50 Zeilen Code erstellt. ^^ Aus diesem Quellcode kann ich ne Menge lernen :-)
Dankeschön, alles bestens.
AW: Liste erstellen / sortieren / doppelte löschen
01.08.2010 17:55:16
MarkusH
Hallo,
ich habe etwas Wichtiges vergessen und hoffe es ist okay wenn ich die Frage als noch offen markiere :-)
Spalte B müsste nun alphabetisch (aufsteigend) sortiert werden. Und damit nicht genug, Spalte A ist eine fortlaufende Nummer und die Nummerierung sollte nach der Codeausführung immer fortlaufend sein (also 1,2,3 usw egal welche Nummer vom Code bei der Eingabe der Daten vergeben wurde).
Ich hab versucht mit dem Makroeditor eine Sortierung aufzuzeichnen und dann einzufügen aber es hat nicht geklappt. Könnte jemand helfen bitte?
Vielen Dank!!
Anzeige
AW: Liste erstellen / sortieren / doppelte löschen
01.08.2010 18:04:04
Josef

Hallo Markus,
probier's mal so.
Private Sub CommandButton1_Click()
  Dim lngNext As Long, strInput As String, vntRet As Variant
  
  
  Do
    strInput = InputBox("Bitte Name eingeben:", "Eingabe", "")
    If strInput = "" Then Exit Do
    vntRet = Application.Match(strInput, Columns(2), 0)
    If IsNumeric(vntRet) Then
      MsgBox "Der Eintrag " & strInput & " ist schon vorhanden!"
    Else
      lngNext = Cells(Rows.Count, 1).End(xlUp).Row + 1
      Cells(lngNext, 1) = Application.Max(Columns(1)) + 1
      Cells(lngNext, 2) = strInput
      Columns(2).Sort Key1:=Cells(2, 2), Order1:=xlAscending, Header:=xlGuess
    End If
  Loop
  
End Sub


Gruß Sepp

Anzeige
AW: Liste erstellen / sortieren / doppelte löschen
01.08.2010 18:46:01
MarkusH
Hallo Sepp,
Ich habe bei der Sortierung den Header auf xlYes gesetzt weil xlGuess bei einem Test Probleme bereitet hat - ich hatte verschwiegen dass es eine Überschrift gibt und dass "Name" der Überschrift wurde in die Tabelle mit einsortiert, nicht aber "Nummer" (Überschrift Spalte A).
Funktioniert super, vielen Dank! :-)

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige