Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1288to1292
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

Namensarray mit festen Werten

Namensarray mit festen Werten
29.11.2012 14:51:45
Jack
Hallo liebe Gemeinde
Ich hab mal wieder ein kleines Anliegen.
Und zwar
Gibt es die Möglichkeit (OHNE Vba) einen Namen zu definieren und diesen nicht mit einem Bezug zu versehen sondern mit fixen Werten. (Also sozusagen wie eine permanente Variable im Hintergrund zu halten)
Das korrumpiert zwar die Idee hinter dem Namensmanager hat aber folgenden Sinn,
ich möchte aus verschiedenen auch kosmetischen Aspekten die "Ursprungstabelle" nicht in der Mappe haben. (Eine indirekt() Lösung scheidet aber wegen der notwendigen "doppelöffnung" (also beider Mappen ) aus
Vielen Dank für kreative Ansätze..

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namensarray mit festen Werten
29.11.2012 14:58:21
Hajo_Zi
meinst Du so?
Tabelle2
 F
15Hallo Jack

verwendete Formeln
Zelle Formel Bereich
F15 =Test 

definierte Namen
Name Bezieht sich auf Tabelle Z1S1-Formel
Test="Hallo Jack" ="Hallo Jack"

Tabellendarstellung in Foren Version 5.50



Anzeige
AW: Namensarray mit festen Werten
29.11.2012 15:12:12
Jack
Hallo Hajo ..
Ich hab mich etwas unglücklich ausgedrückt... Ich wollte das anschliessend in ein Listenfeld eintragen
Grüße

Matrixkonstante
29.11.2012 14:59:21
Rudi
Hallo,
so?
A
3c

NameBezug
xxx={"a"."b"."c"."d"."e"}

ZelleFormel
A3=INDEX(xxx;3)

Gruß
Rudi

Anzeige
AW: Matrixkonstante
29.11.2012 15:04:11
Jack
Hallo Ihr beiden
sehr interessante Ansätze.
Ich müsste das ganze dann nur in einem Dropdown (also Gültigkeitskontrolle- Liste)
Wiedergeben.
Muss ich gleich mal Probieren

Korrumpiert mitnichten, ...
29.11.2012 15:41:00
Luc:-?
…Jack;
als Bezug muss bei Namen immer eine Formel angegeben wdn, was man leicht am führenden = erkennen kann. Bei Angabe eines (auch Mehrfach-)Bereichs wird der Name = diesem gesetzt, ansonsten eben = einer (Matrix-)Konstanten bzw dem Ergebnis eines Ausdrucks (Formel). Rudi verwendet eine Matrixkonstante, also feste Werte in Form einer Matrix bzw hier eines Vektors, Hajo einen skalaren Wert.
Gruß Luc :-?

Anzeige
AW: Korrumpiert mitnichten, ...
29.11.2012 15:49:32
Jack
Hallo Luc
Naja korrumpiert im Sinne von, das es sich sozusagen nicht auf eine veränderbare Zelle bezieht sondern "nur" einen fixen Wert ausgibt, der dann im weiteren auch über eine Liste (Listenfeld) ausgegeben werden soll.
Dh. Bei einem Listenfeld kann man für die Gülztigkeit ja einen Namen(-sdefinition) als Bezug angeben.
Wie löse ich es aber, dass ich den Namen mit festen Werten fülle, die ich dann in eben dieser Abrufen kann.
Dern nachteil bei der Lösung mit den Skalaraen ist, ja das ich diese nur über einen Index ansprechen kann.
Grüße

Skalare sind Einzelwerte, du meinst ...
29.11.2012 19:41:09
Luc:-?
…sicher (Rudis) Vektor(en), Jack!
Rudi trägt diese sog Matrixkonstante natürlich fest beim Namen ein. Das ist ja auch so vorgesehen und müsste dann ggf auch von der Datengültigkeit akzeptiert wdn. Das wäre dann auch das erste, was du überprüfen solltest, sonst hätten alle weiteren Überlegungen in dieser Richtung keinen Sinn.
Offensichtlich willst du diesen Namen aber variabel mit einer ggf stets anderen/veränderten/aktualisierten Matrixkonstante füllen. Dann kannst du ohne VBA keine Matrixkonstante nehmen, sondern musst dich direkt auf die Quelle beziehen, was dann ja auch ein verstecktes/r Blatt/Bereich sein könnte. Ansonsten bliebe nur die Eingabe von Hand für Texte wie bei Rudi, für Zahlen so:
{1.2.3;4.5.6;7.8.9} für eine 3×3 Matrix, natürl mit deinen Zahlen, die auch dezimal sein dürfen.
Alles, was etwas komfortabler in der Handhabung sein soll, geht nur mit VBA. Bspw habe ich bei einem Projekt eine Doku aller Namen angelegt, in der ich die Werte von solchen Konstanten direkt ändern kann. Die Änderung wird dann automatisch in den Namen übertragen, wobei eine Matrixkonstante nicht mal in der gezeigten Form eingegeben wdn muss, sondern einfach nur als Aufzählung. Die MxKonst macht dann das vbPgm im Hintergrund daraus.
Was die Gültigkeit betrifft, für die das ja wohl sein soll, die arbeitet doch auch mit Listen, nicht mit MxKonstanten. Das können dann doch ebenfalls nur Aufzählungstexte sein, die dann wohl ähnl einer MxKonst weiterverarbeitet wdn. Dann könntest du doch sicher einen solchen aufzählenden Text als quasi skalaren Konstantenwert angeben!? Wolltest du den (automatisch) erzeugen, müsstest du die betroffenen Zellinhalte per …&trennzeichen&… miteinander verbinden und das Ergebnis als "Wert" zum Namen eintragen. Hajos Vorschlag scheint in diese Richtung zu gehen.
Gruß Luc :-?

Anzeige
Skalare sind Fische (Segelflosser) owT ;-)
29.11.2012 20:10:56
Rudi

Das auch...! ;-) Gruß owT
30.11.2012 01:11:15
Luc:-?
:-?

AW: Das auch...! ;-) Gruß owT
30.11.2012 10:42:02
Jack
Hallo Luc
Vielen Dank für deine Ausführung.
Zu den variablen und Konstanten...
Praktisch gesehen will ich das Bundesland in einer Liste auswählen und dann in der zweiten Liste eine der in diesem Bundesland befindlichen Städte auswählen und dann einen stadtindividuellen Wert ausgeben.
Und bisher hab ich es über eine Hilfstabelle gelöst. Das Problem hierbei ist, dass diese Ausgabe (in einem Berechnungs-Blatt) immer wieder in verschiedenen Mappen verwendet werden soll, und ich sozusagen für den DAU die Fehlermöglichkeiten minimieren will und er nur das eine Blatt (Berechnungsblatt) in die neue Mappe kopieren soll. (Und eben nicht noch die Hilfstabelle)
Deswegen mein anliegen =)
Grüße

Anzeige
Das du jetzt gelöst hast!? Gruß+schöWE owT
30.11.2012 18:19:00
Luc:-?
:-?

AW: Das du jetzt gelöst hast!? Gruß+schöWE owT
01.12.2012 00:40:39
Jack
Hallo Luc.
Also gelöst hab ich es noch nicht.
Wobei ich wahrscheinlich einfach die gültigkeitsliste manuell füllen müsste.
Aber dies Arbeit ist mit grad zu aufwändig ;-)
Daher suche ich noch nach einer praktikableren Lösung ;-)
Grüße

Dann leg' die doch per VBA an, ...
02.12.2012 17:16:41
Luc:-?
…Jack,
so wie quasi schon von Hajo vorgeschlagen, nur musst du zuvor die Liste bilden. Das kannst du mit einer kleinen Hilfsfkt einmalig machen und das Ergebnis in eine Konstante eintragen, die du dann zuweist.
Du kannst das auch per benannter Konstante außerhalb von VBA tun und dann den Namen verwenden.
Falls sich mal was ändert, erstellst du das halt mit deiner Fkt neu oder organisierst das Ganze so wie von mir für mein Projekt beschrieben.
Als Basis deiner udFkt verwendest du die vbFkt Join; dabei aber beachten, dass die nur 1dimensionale Vektoren verarbeiten kann. Dabei sind nur horizontale DatenfeldVektoren in xlVBA wirklich 1dimensional. Musst du also erst mit 1-2× WorksheetFunction.Transpose herstellen. Die Abfrage If IsError(LBound(dfvektor, 2)) Then muss einen, LBound(dfvektor) darf keinen Fehler ergeben. On Error Resume Next davor nicht vergessen!
Gruß Luc :-?
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige