Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1032to1036
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--Gültigkeit--Liste aktualisiert sich falsch

Daten--Gültigkeit--Liste aktualisiert sich falsch
21.12.2008 18:31:00
Reinhard
Hallo Wissende,
In Datei--Gültigkeit--Liste von D1 steht ja durch das SelectionChange-Ereignis das Richtige drin, also
1;2;3;4;5;6;7
aber es erscheint in der Auswahl nicht so
1
2
3
4
5
6
7
...
sondern in einer einzigen Zeile. Erst wenn ich dann manuell in Daten--Gültigkeit gehe und ohne Änderung "Ok" klicke klappt es.
Wie kann man den Code verbessern?
Die auskommentierten Zeilen halfen nicht.

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ausw, arr
If Target.Cells.Count  1 Then Exit Sub
If Target.Address(0, 0)  "D1" Then Exit Sub
Ausw = Join(WorksheetFunction.Transpose(Range("A1:A100")), ";")
'MsgBox Ausw
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Ausw
End With
'Call Makro1
'DoEvents
'Application.EnableEvents = False
'With Target.Validation
'   .Delete
'   .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
'        xlBetween, Formula1:=Ausw
'End With
'Target.Select
'Application.EnableEvents = True
End Sub
Sub Makro1()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="1;2;3;3;3;3;3;3;3;3;3;3;3;3;3"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub


Danke ^ Gruß
Reinhard

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

Betreff
Datum
Anwender
Anzeige
nimm mal , statt ;
21.12.2008 18:40:16
Matthias
Hallo
probier mal , start: ;

Sub Makro1

... Formula1:="1,2,3,4,5,6,7"

End Sub


Gruß Matthias

bzw ....
21.12.2008 18:57:00
Matthias
Hallo
....
Dim Ausw, arr
If Target.Cells.Count 1 Then Exit Sub
If Target.Address(0, 0) "D1" Then Exit Sub


Ausw = Join(WorksheetFunction.Transpose(Range("A1:A100")), ",")


'MsgBox Ausw
With Target.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Ausw
End With
Gruß Matthias
Anzeige
Danke dir o.w.T
21.12.2008 19:04:47
Reinhard


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige