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

Dropdown mit Mehrfachauswahl

Dropdown mit Mehrfachauswahl
08.11.2022 12:15:34
Bernd_hat
Hallo an Alle,
habe den unten stehenden Code im Netz gefunden. Funktioniert aus super.
Nun mochte ich keinen Bereich angeben sondern einzelne Zellen wo das MAkro greifen soll.
Was muss man machen damit es funktioniert.

Private Sub Worksheet_Change(ByVal Target As Range)
'** Mehrfachauswahl über DropDown-Liste (Gültigkeitsprüfung)
'** Einfügen im Code-Container des betreffenden Arbeitsblattes
'** Dimensionierung der Variablen
Dim rngDV As Range
Dim wert_old As String
Dim wertnew As String
'** Errorhandling
On Error GoTo Errorhandling
'** Mehrfachauswahl im definierten Bereich (Bsp. B4:B14) durchführen
If Not Application.Intersect(Target, Range("B4:B14")) Is Nothing Then
'**Range definieren
Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)
If rngDV Is Nothing Then GoTo Errorhandling
'** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen
If Not Application.Intersect(Target, rngDV) Is Nothing Then
Application.EnableEvents = False
wertnew = Target.Value
Application.Undo
wertold = Target.Value
Target.Value = wertnew
If wertold  "" Then
If wertnew  "" Then
Target.Value = wertold & ", " & wertnew
End If
End If
End If
Application.EnableEvents = True
End If
Errorhandling:
Application.EnableEvents = True
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown mit Mehrfachauswahl
08.11.2022 12:32:08
Daniel
HI
naja, fürs intersect dem Bereich Range("B4:B14") einzelne Zellen oder einzelne Bereiche im Adressstring angeben, das geht durch Trennung mit Komma: Range("B4,C8,F16")
Der Adresstring darf nicht länger als 255 Zeichen werden.
wenns viele Zellen wären, die regelmäßig angeordnet sind, kann man ggf auch rechnen, hier als Beispiel für jede dritte Zelle in Spalte B

If Target.column = 2 and (Target.Row Mod 3) = 1  Then
Gruß Daniel
AW: Dropdown mit Mehrfachauswahl
08.11.2022 13:32:04
Bernd_hat
Hallo Daniel,
Danke erstmal für Deine Hilfe.
In dem Code steht B ,ist aber A,Sorry.
Wenn das also auf Zelle A32-A34-A36 dann A68-A70-A72 und dann mit einem Abstand von 35 bis Zelle A1086 . Wie kann man das per Code rechnen und wo mässte ich diesen einsetzen ?

If Target.column = 2 and (Target.Row Mod 3) = 1  Then
Gruß Bernd_
Anzeige
AW: Dropdown mit Mehrfachauswahl
08.11.2022 13:56:21
Bernd_hat
Hallo Daniel,
Danke erstmal für Deine Hilfe.
Sorry hatte eben einen Fehler drin..........
In dem Code steht B ,ist aber A,Sorry.
Wenn das also auf Zelle A32-A34-A36 dann A67-A69-A71 und dann mit einem Abstand von 35 bis Zelle A1086 . Wie kann man das per Code rechnen und wo mässte ich diesen einsetzen ?
If Target.column = 2 and (Target.Row Mod 3) = 1 Then
Gruß Bernd_
AW: Dropdown mit Mehrfachauswahl
08.11.2022 14:19:08
Daniel
HI
hier würde ich mehrere If schachteln und die Mod (Rest) dann über Select Case einbinden:

if target.Column = 1
if Target.Row > 31 and Target.Row 
Gruß Daniel
Anzeige
AW: Dropdown mit Mehrfachauswahl
08.11.2022 14:34:59
Bernd_hat
Hallo Daniel,
habe es jetzt so geschrieben. Leider funktioniert es nicht.

Private Sub Worksheet_Change(ByVal Target As Range)
'** Mehrfachauswahl über DropDown-Liste (Gültigkeitsprüfung)
'** Einfügen im Code-Container des betreffenden Arbeitsblattes
'** Dimensionierung der Variablen
Dim rngDV As Range
Dim wertold As String
Dim wertnew As String
If Target.Column = 1 Then
If Target.Row > 31 And Target.Row  "" Then
If wertnew  "" Then
Target.Value = wertold & ", " & wertnew
End If
End If
End If
Application.EnableEvents = True
'    End If
Errorhandling:
Application.EnableEvents = True
End Select
End If
End If
End Sub

Anzeige
AW: Dropdown mit Mehrfachauswahl
08.11.2022 14:52:19
Daniel
die passende Antwort auf "funktioniert nicht" ist immer "machs anders"
das ist dann im prinzip der selbe Informationsgehalt, denn das "funktioniert nicht", muss sich ja immer auf eine bestimmte Art und weise bemerkbar machen, die du uns beschreiben könntest.
btw lass das mit dem On Error Goto ErrorHändling weg.
solange der der Code noch getestet wird und nicht fehlerfrei läuft, ist eine Fehlerbehandlungsroutine hinderlich, wenn es darum geht Fehlerursachen zu finden und zu beheben.
Gruß Daniel
AW: Dropdown mit Mehrfachauswahl
08.11.2022 15:13:41
Bernd_hat
habe den Fehler gefunden.
Das Blatt hat einen Passwortschutz. Die zu füllenden Zellen in Spalte A sind aber nicht Schreibgeschütz.
Daher kommt dann ein Fehler.
Kann ich diesen Abschnitt auf eine andere Art Zellen ändern damit ich nicht immer das Passwort abfragen muss im Code ?

Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)
Gruß Bernd_
Anzeige
AW: Dropdown mit Mehrfachauswahl
08.11.2022 15:34:52
Daniel
du merkst, kaum verlässt man mal den bequemen Pfad der Faulheit alles aufs Forum abzuwälzen und fängt selber an zu denken, findet man häufig aus selber die Lösung.
Und wie hätte ich diesen Fehler mit den Angaben, die du mir gemacht hast, finden können?
Die Antwort auf deine Frage
hebe den Blattschutz zu Beginn des Codes auf und setze ihn hinterher wieder.
Dazu gibt es die Befehle ActiveSheet.Protect und ActiveSheet.Unprotect.
Gruß Daniel
AW: Dropdown mit Mehrfachauswahl
08.11.2022 15:48:32
Bernd_hat
Hallo.
Ja hat ganz gut funktioniert mit Deiner Hilfe.
Danke
Gruß Bernd_
AW: Dropdown mit Mehrfachauswahl
08.11.2022 14:54:30
Yal
Hallo Bernd,
probieren geht über studieren, und zwar mit kleinen Schritte probieren.
In dem Fall die Spalte A prüfen, dann die Zeilen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Row >= 32 Then
Select Case Target.Row Mod 35
Case 32, 34, 1 '36 mod 35 ergibt 1, daher zuerst >= 32 prüfen
MsgBox "Treffer: " & Target.Address
Case Else
MsgBox "Im Wasser: " & Target.Address
End Select
End If
End If
End Sub
VG
Yal
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige