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

Drop down validation mittels array

Drop down validation mittels array
12.12.2016 14:36:03
Chris
Hallo zusammen,
ich habe mir einen Makro gebastelt, der mittels eines Arrays die Werte für eine DropDown Liste liefert. Das Problem dabei ist, werden es zu viele Werte (255 Zeichen meine ich) erscheint mir die folgende Fehlermeldung: "Von Excel wurde unlesbarer Inhalt in "xyz.xlsm" gefunden. Möchten Sie den Inhalt dieser Arbeitsmappe wiederherstellen? Wenn Sie der Quelle dieser Arbeitsmappe vertrauen, klicken Sie auf "Ja"."
Kann man den Code umändern um das Problem zu umgehen? Eine Beispieldatei habe ich beigefügt.
https://www.herber.de/bbs/user/109998.xlsm
LG und Danke vorab
Chris

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

Betreff
Datum
Anwender
Anzeige
AW: Drop down validation mittels array
12.12.2016 16:41:20
Daniel
Hi
das geht auch ohne Makro:
1. Formatiere den Zellbereich in Tabelle1 als Tabelle (Einfügen - Tabellen - Tabelle)
2. füge dieser Tabelle ein weitere Spalte hinzu, in welcher du per Formel die Begriffe zusammen fasst:
=A2&" ("&B2&")"
Excel wird die Tabelle dann automatisch ausfüllen und auch automatisch erweiteren, wenn du Zeilen hinzufügst.
3. Erstelle einen Namen ("xxx"), welche sich auf diese Spalte der Tabelle beziehet. dieser Name wird dann einen Zellbezug in dieser Form haben:=Tabelle1[Spalte1]
Menüfunktion: Formeln - Namensmanager
4. Verwende den Namen als Quelle für die Liste =xxx
das Makro ist dann überflüssig.
Gruß Daniel
Anzeige
AW: Drop down validation mittels array
13.12.2016 06:54:14
Chris
Guten Morgen Daniel,
danke für die schnelle und hilfreiche Antwort! Allein aus Neugier, was genau funktioniert an dem Makro nicht? Liegt es tatsächlich an der Beschränkung des Arrays von 255 Zeichen? Falls ja ist es möglich so was zu umgehen?
LG Chris
AW: Drop down validation mittels array
13.12.2016 12:07:01
Daniel
Hi
ja, liegt an der Länge des Gesamttextes, dieser darf einen Bestimmten Wert nicht überschreiten.
das Problem ist deine Methode den Formeltext zu genereieren, weil du auch für alle Leerzellen ein Komma einfügst und somit deine Formel allein schon für die Kommas 250 Zeichen lang ist.
den Text für die Formel kann man auch einfacher erzeugen, der Umweg über das Array und Join ist unnötig:

Private Sub Worksheet_Activate()
Dim txt As String
Dim i As Integer
Dim lrow As Integer
lrow = Sheets(1).Cells(Sheets(1).Rows.Count, 1).End(xlUp).Row
For i = 2 To lrow
If Sheets(1).Cells(i, 2).Value  "" Then
txt = txt & "," & Sheets(1).Cells(i, 2).Value & " (" & Sheets(1).Cells(i, 1).Value & ")" _
End If
Next
txt = Mid(txt, 2)
Sheets(2).Range("A2:A8").Validation.Delete
Sheets(2).Range("A2:A8").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,  _
Operator:=xlBetween, Formula1:=txt
End Sub
Gruß Daniel
Anzeige
AW: Drop down validation mittels array
15.12.2016 06:58:12
Chris
Guten Morgen Daniel,
vielen Dank für deine hilfreichen Antworten! Es funktioniert beides einwandfrei. Habe jetzt die Quall der Wahl ;)
LG Chris
AW: Drop down validation mittels array
15.12.2016 08:04:55
Chris
Hallo Daniel,
nach ausführlichem Testen scheint das gleiche Problem aufzutauchen wie bei dem Code mit dem Array. Gibt es da tatsächlich keine Möglichkeit sowas zu umgehen?
LG und Danke
Chris

214 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige