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

Datenüberprüfung-Liste doppelte Einträge verhinder

Datenüberprüfung-Liste doppelte Einträge verhinder
23.07.2015 11:31:59
Laserpeak
Hi Leute, mein Chef fordert ein Makro, das in jede Zelle der Spalten B, C, D, E und F (mit jeweils unterschiedlichem Inhalt) eine Datenüberprüfung-Liste (so ein Dropdown) Automatisch beim Öffnen der Datei einfügt.
Der Bezug dieser Datenüberprüfung-Listen soll in der gleichen Spalte am gleichen Tabellenblatt liegen, d.h. alle ausgefüllten Zellen sind Bezug, darunter sollen bis zum Ende (Zeile 65536) ebenjene Dropdowns kommen.
Ein Makro soll automatisch die erste leere Zeile finden und den Bezug automatisch bei jedem Öffnen anpassen und gegebenenfalls erweitern.
Zudem sollen doppelte Inhalte des Bezugs nur einmal ausgegeben werden.
Ich habe bereits einiges herausgefunden und herumprobiert und hänge nur noch bei zwei Sachen:
1. In Spalte G (nach den ganzen Dropdowns) wird das Bearbeitungsdatum bei Doppelklick eingegeben und das Programm filtert alle Zeilen danach ob ein Bearbeitungsdatum vorhanden ist oder nicht, somit kann es sein dass die letzte angezeigte Zeile 1013 ist aber bereits bis 1043 die Zeilen ausgefüllt sind. Das Makro zeigt mir aber die ausgeblendete (da gefilterte) Zeile 1014 als erste leere an.
2. Wie kann ich es schaffen dass die doppelten Einträge ignoriert werden? (Hab mich in mehreren Foren schon umgesehen, es sind viele solche Anfragen dabei aber nicht das was ich brauche)
Falls benötigt kann ich den Code gerne offenlegen
LG Laserpeak

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenüberprüfung-Liste doppelte Einträge verhinder
23.07.2015 11:46:22
ransi
Hallo,
das in jede Zelle der Spalten B, C, D, E und F (mit jeweils unterschiedlichem Inhalt) eine Datenüberprüfung-Liste (so ein Dropdown) Automatisch beim Öffnen der Datei einfügt.

Das gibt aber viele Dropdowns...
Bist du dir sicher ?
ransi

Datenüberprüfung-Liste doppelte Einträge verhinder
23.07.2015 11:54:49
Laserpeak
Eben nicht JEDE, sondern z.B. 3 - 1043 sind schon ausgefüllt und sollen als Bezug verwendet werden, in 1044 - Rest sollen dann eben diese Datenüberprüfung-Listen eingefügt werden (die sieht man ja erst wenn man in die Zelle klickt) und wenn man z.B. 1044 - 1050 ausfüllt dann überprüft das Makro beim nächsten Öffnen die letzte gefüllte Zeile und setzt den Bezug auf 3 - 1050 und die Dropdowns kommen dann erst ab 1051
Ich hoffe ich hab es verständlich beschrieben
LG Laserpeak

Anzeige
Datenüberprüfung-Liste doppelte Einträge verhinder
23.07.2015 13:39:42
Laserpeak
Hallo Leute
hier mal mein Code, könnte sich den bitte mal wer durchsehen, vielleicht findet jemand den Fehler
Private Sub Workbook_Open()
Call ComboBox1
Call ComboBox2
Call ComboBox3
Call ComboBox4
Call ComboBox5
End Sub
Sub ComboBox1()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$B$&Eleere:$B$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$B$2:$B$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox2()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$C$&Eleere:$C$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$C$2:$C$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox3()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$D$&Eleere:$D$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$D$2:$D$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox4()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$E$&Eleere:$E$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$E$2:$E$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox5()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$F$&Eleere:$F$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$F$2:$F$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub

Anzeige
möglicher Fehler
23.07.2015 14:55:13
Andre
Hallo Laserpeak,
wenn Du den Code postest und sagst, dass da ein Fehler ist, dann sage wie sich der Fehler äussert. Die meisten hier sind nicht im Besitz von Glaskugeln, um in die Zukunft zu sehen.
In deinem Code steht:
Range("$B$&Eleere:$B$65536").Select
Versuche es mal mit:
Range("$B$"&Eleere&":$65536").Select
Aber auch meine Hellseherfähigkeiten sind sehr begrenzt.
Gruß
Andre

AW: möglicher Fehler
23.07.2015 15:45:00
Laserpeak
Der Fehler äußert sich insofern dass er die MsgBox Lvolle noch ausgibt, aber danach NICHTS mehr macht, keine Fehlermeldung und sonst auch Nichts
Danke für den Vorschlag, wird es gleich mal probieren

Anzeige
AW: möglicher Fehler
23.07.2015 15:47:41
Laserpeak
Hab es jetzt probiert wie vorgeschlagen, jetzt kommt Error 400 (wenigstens mal eine Reaktion)
LG Laserpeak

AW: möglicher Fehler
24.07.2015 12:05:12
Andre
Hallo Laserpeak,
Formula1:="$B$2:$B$&Lvolle" auch hier stimmen die Anführungs zeichen nicht.
$B$2:$B$ ist direkter Text, Lvolle aber nicht, denn dieses ist eine Variable und Du brauchst nur den Wert. Dieses muss Excel gesagt werden. Also Formula1:="$B$2:$B$"&Lvolle
Gruß
Andre

Datenüberprüfung-Liste doppelte Einträge verhinder
23.07.2015 15:41:46
Laserpeak
Hallo Leute
hier mal mein Code, könnte sich den bitte mal wer durchsehen, vielleicht findet jemand den Fehler
Private Sub Workbook_Open()
Call ComboBox1
Call ComboBox2
Call ComboBox3
Call ComboBox4
Call ComboBox5
End Sub
Sub ComboBox1()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$B$&Eleere:$B$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$B$2:$B$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox2()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$C$&Eleere:$C$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$C$2:$C$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox3()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$D$&Eleere:$D$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$D$2:$D$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox4()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$E$&Eleere:$E$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$E$2:$E$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Sub ComboBox5()
Dim Eleere As Long
Dim Lvolle As Long
Eleere = Cells(Rows.Count, 1).End(xlUp).Row + 1
Lvolle = Eleere - 1
MsgBox Lvolle
Range("$F$&Eleere:$F$65536").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="$F$2:$F$&Lvolle"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub

Anzeige

102 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige