Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Name per Makro vergeben

Name per Makro vergeben
26.05.2007 17:57:01
Peter
Hallo Experten.
Ich brauche bei 2 Fragen mal wieder Hilfe.
1. Wie kann ich aus einem Listenfeld "MultiSelect" in einer Userform die Rückgabewerte einer
Mehrfachselektion auswerten?
Bei 'fmMultiselectSingle' geht das über die Value-Eigenschaft bei 'fmMultiSelectMulti' und
'fmMultiSelectExtended' bekomme ich das einfach nicht hin.
2. Ich will in einem Makro einen Namen vergeben den ich in diesem Listenfeld verwerten will.
Dies funktioniert bei mir allerdings nicht. Da das Namensfeld variabel sein soll, wird zuerst
der alte Namensbereich mit Inhalten und der alte Name gelöscht. Dann soll er neu angelegt werden.
Das Löschen funktioniert einwandfrei. Der neue Name wird aber nicht erstellt. Soll heißen man sieht ihn
nicht im Namensfenster. Geht man über das Menue zur Namensvergabe steht er dort in der Liste.
Allerdings kann man nicht darauf zugreifen.
Vielleicht könnt ihr es ja an der Beispieldatei nachvollziehen.
https://www.herber.de/bbs/user/42786.xls
Ich habe das ganze übrigens auch unter Excel 2003 ausprobiert. Dort hat die Namensvergabe manchmal funktioniert und ein anderes mal wieder nicht. Ohne das an der Stelle im Code eine Änderung vorgenommen wurde.
Ich hoffe auf euch
Peter

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Name per Makro vergeben
26.05.2007 18:54:48
Daniel
Hallo
zu 1
kannst du über die SELECTED(i)-Eigenschaft abfragen, ob ein Listenelement ausgewählt ist oder nicht.
(achtung, Index beginnt mit 0)
mit folgendem Code kannst du also die Elemente deiner Listbox prüfen:

For i = 0 to Lisbox1.ListCount - 1
if Listbox1.Selected(i) = True  Then
else
end if
next


zu 2.
das mit den Namen verstehe ich nicht ganz.
ich würde in diesem Falle einen "Dynamischen Namen" vergeben, der sich automatisch anpasst.
dann brauchst du dich im Makro darum nicht zu kümmern.
wie Dynamische Namen gehen, steht hier:
http://www.online-excel.de/excel/singsel.php?f=62

Anzeige
AW: Name per Makro vergeben
26.05.2007 19:56:00
Peter
Hallo Daniel.
Ich verstehe zwar nicht warum die Namensvergabe nicht funktioniert, aber du hast prinzipiell recht.
Die Abfrage habe ich noch nicht ausprobiert, aber ich denke damit komme ich klar.
Über den dynamischen Namen kann ich jetzt die Liste erstellen.
Allerdings ist da bei mir noch ein kleiner Harken.
In der Listbox fehlt der letzte Wert aus der Liste. Vielleicht hast du dazu ja auch noch einen Tipp.
https://www.herber.de/bbs/user/42788.xls
Bis hierher schon mal vielen Dank
Peter

AW: Name per Makro vergeben
26.05.2007 20:07:00
Daniel
Hallo
dein Name ist so programmier, als würde die liste in Q2 beginnen.
Tatsächlich beginnt die Liste erst in Q3, damit fällt das letzte Element natürlich raus.
(Anzahl2 zählt die Anzahl der Zellen, in denen ein Wert steht, Leerzellen sollten daher in solchen Listen nicht verwendet werden).
Gruß, Daniel

Anzeige
AW: Name per Makro vergeben
27.05.2007 12:45:00
Peter
Hallo Daniel.
Das kann es nicht alleine sein.
Ich habe die Anpassung vorgenommen. Danach schienen die Einträge in der Listbox auf 8 begrenzt zu sein.
In dem Namensfeld standen die Daten alle richtig drin. Auch der Namensbereich war ok.
Wenn ich also den Zeitbereich vergrößert habe war alles ok nur die Listbox hatte max. 8 Einträge.
Erst als ich die Listbox per Makro jedesmal aktualisiert habe wurde auch die Anzahl > 8 übernommen.
Jetzt klappt es.
Danke
Peter

AW: Name per Makro vergeben
27.05.2007 13:28:42
Daniel
Hallo
in dem von dir eingeschickten Beispiel ist der Fehler die falsche Namendefintion.
guckst du hier, der Bereich, der durch den Namen beschrieben wird, ist eingerahmt.
Userbild
die Listbox einer Userform passt sich normalerweise automatisch daran an, ein Anpassen der Zeilen ist nicht erforderlich.
Das von dir beschriebene Problem kenne ich eigentlich nur von den Steuerelement-Listboxen, nicht aber von Formularfeld- oder Userform-Listboxen wie in deinem Bespiel
Gruß, Daniel

Anzeige
AW: Name per Makro vergeben
28.05.2007 11:44:31
Peter
Hallo Daniel.
Diesen Fehler hatte ich bei meiner letzten Nachricht schon behoben.
Ich habe das neue Beispiel nur nicht mehr verschickt, da ich durch aktives aktualisieren der Listbox das Problem mit den 8 Listboxeinträgen schon erledigt hatte.
Mein Problem war dann eben, dass, wenn man so wie du in der Abbildung den Namen markiert hat, das Namensfeld vollkommen richtig z.B. 11 Einträge markiert hat, in der Listbox aber nur die ersten 8 standen. Obwohl keine Leerzelle mehr vorhanden war.
Ist aber jetzt erledigt.
Danke noch mal
Peter

AW: Name per Makro vergeben
28.05.2007 16:44:00
Daniel
Hallo
wenn du eine Beispiel-Datei verschickst,
dann sollte sie schon den Fehler bzw. das Problem enthalten, das du in deiner Anfrage beschreibst.
sonst darft du dich nicht wundern, wenn die Antwort nicht zu deiner Frage passt.
Schließlich wollen wir hier bei Problemen helfen und keine Ratespiele spielen.
Gruß, Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige