Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Doppelte Einträge verhindern

Betrifft: Doppelte Einträge verhindern von: Thorsten Weckert
Geschrieben am: 06.08.2014 07:08:25

Guten Morgen.

Mit diesem Code wähle ich gewisse Zeilen in einer Listbox per Multiselect aus.
Die ausgewählte Zeile wird dann aus der Listbox in eine Tabelle "Teilnahme" eingelesen per CommandButton eingelesen und sortiert.

Private Sub CommandButton1_Click()

Dim wks As Worksheet
Dim lngI As Long
Dim lngZ As Long
Dim intS As Integer
 
Set wks = Worksheets("Teilnahme")
lngZ = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1
  
With Me.ListBox1
  For lngI = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(lngI) Then
      For intS = 0 To 5
        wks.Cells(lngZ, intS + 1) = .List(lngI, intS)
      Next
      lngZ = lngZ + 1
    End If
  Next
End With

Columns("B:B").Select
    ActiveWorkbook.Worksheets("Teilnahme").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Teilnahme").Sort.SortFields.Add Key:=Range("B1") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Teilnahme").Sort
        .SetRange Range("A2:AF70")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

End Sub
Mache ich jetzt die Userform zu, mache Sie wieder auf, um weitere Teilnehmer im Multiselect auszuwählen, werden mir dieselben nocheinmal angezeigt. Diese könnte ich dann noch mal auswählen und wieder in die Tabelle "Teilnahme" übernehmen.

Ich möchte, dass wenn ich die Teilnehmer ausgewählt habe und diese in der Tabelle "Teilnahme" stehen, nicht mehr in der Listbox auftauchen, bzw. irgendwie gekennzeichnet sind, dass diese schon ausgewählt sind.

Ich habe mal eine Datei zum besseren Verständnis angehangen. Es handelt sich um die Userform "Auswahl_Ausbildungsbörse", in der per Multiselect ausgewählt wird und in die Userform "Teilnehmer_Ausbildungsbörse" eingefügt wird.

https://www.herber.de/bbs/user/91921.xls

Kein Passwort.

Danke schonmal.

  

Betrifft: AW: Doppelte Einträge verhindern von: Hajo_Zi
Geschrieben am: 06.08.2014 08:36:47

vielleicht solltest Du erklären wie man zu der Listbox kommt. Ich sehe keine.

GrußformelHomepage


  

Betrifft: AW: Doppelte Einträge verhindern von: Thorsten Weckert
Geschrieben am: 06.08.2014 08:49:34

Also wie beschrieben befinden wir uns in der Userform "Auswahl_Ausbildungsbörse". Hier wähle ich die Teilnehmer per Multiselect in der Listbox aus.
Nach dem bestätigen über den CommandButton1 werden die ausgewählten Zeilen sowohl in die Tabelle "Teilnahme" eingetragen.
Wähle ich nun nochmal die selben Zeilen aus und bestätige wieder über den CommandButton1 werden diese wieder in die Tabelle "Teilnehmer" eingetragen.
!Genau das möchte ich nicht! Soll irgendwie überprüft werden anhand Spalte A (ist eine einzigartige Nummer)in der Tabelle "Teilnahme", dass diese Nummer schon dabei ist.

War oben echt doof von mir erklärt.

Die Userform "Teilnehmer_Ausbildungsbörse" hat eigentlich nix damit zu tun, denn diese liest nur die Daten aus der Tabelle "Teilnahme" erneut aus.

Ich hoffe ich konnte es etwas besser erklären.


  

Betrifft: AW: Doppelte Einträge verhindern von: Hajo_Zi
Geschrieben am: 06.08.2014 09:32:06

Gut ich bin dann raus.
Starte ich die Userform ""Auswahl_Ausbildungsbörse" sehe ich die ListBox, die ist aber Leer, da besteht Dein Problem nicht.
Aus irgendeinem Grund schließt sich jetzt die Datei, wenn die erste Userform geschlossen wird.

Gruß Hajo


  

Betrifft: AW: Doppelte Einträge verhindern von: Thorsten Weckert
Geschrieben am: 06.08.2014 11:23:36

Vielleicht kann mir jemand anders helfen.

Also wenn ich die Beispieldatei öffne, dann ist die Liste nicht leer und er schmeißt mich nicht raus.

Gruß


  

Betrifft: AW: Doppelte Einträge verhindern von: Thorsten Weckert
Geschrieben am: 07.08.2014 06:53:44

Guten Morgen?

Keiner eine Idee?


  

Betrifft: AW: Doppelte Einträge verhindern von: Hajo_Zi
Geschrieben am: 07.08.2014 07:03:15

Du hast eine andere Datei, wenn die Datei geöffnet wird, öffnet sich eine UserForm ohne ListBox.

Gruß Hajo


  

Betrifft: AW: Doppelte Einträge verhindern von: Thorsten Weckert
Geschrieben am: 07.08.2014 07:22:55

Ich poste Sie dann nochmal.

Gruß

https://www.herber.de/bbs/user/91944.xls


  

Betrifft: AW: Doppelte Einträge verhindern von: Hajo_Zi
Geschrieben am: 07.08.2014 07:26:40

auch in dieser Datei wird eine Userform ohne Listbox geöffnet.


Gruß Hajo


  

Betrifft: AW: Doppelte Einträge verhindern von: Thorsten Weckert
Geschrieben am: 07.08.2014 07:52:05

Jetzt weiß ich was Du meinst.

Ich habe die ganze Datenbank hinterlegt, falls ein Bezug zu den anderen Userforms benötigt wird.

Über den AdminButton (kein Passwort hinterlegt) kommst Du in Excel normal rein.

In der VBA Ebene siehst Du dann die Userforms.

Ich habe schon an mir gezweifelt, aber manchmal ist das Denken meinerseits, weiter voraus als das geschriebene Wort^^


  

Betrifft: AW: Doppelte Einträge verhindern von: Thorsten Weckert
Geschrieben am: 08.08.2014 07:08:25

Kann mir hier jemand helfen?


 

Beiträge aus den Excel-Beispielen zum Thema "Doppelte Einträge verhindern"