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

Attribute in Function

Attribute in Function
04.04.2021 09:55:10
AL
Hallo zusammen,
meine Frage bezieht sich auf das Aufrufen von Variablen/Attributen in der Methode Function.
Problemstellung:
Um viele Berechnungen (mit Teilberechnungen etc.) in der Beispielfunction test durchführen zu können, sollen alle Attribute der Profile auf den Tabellenblättern 2 bis 5 (in diesem Fall nur bis 5) eingelesen werden. Über die Dropdownliste in Tabelle1 soll der Benutzer das entsprechende Profil auswählen können, damit die Function test weiß welche Attribute aus welchem Tabellenblatt verwendet werden soll. Außer den Attributen, die in den Tabellenblättern 2-5 enthalten sind, müssen noch Variablen in die Function test eingelesen werden.
Und da wären wir schon beim Problem, denn die Anzahl der einzulesenden Variablen/Attribute einer Function sind begrenzt. Bei meinem Vorhaben übersteigen die Variablen/Attribute die maximale Anzahl.
Noch ein Hinweis: Ich habe die Variablen nicht über den Namensmanager mit Namen definiert, da Tabelle1 kopiert werden kann, damit mehrere Berechnungen unterschiedlicher Profile durchgeführt werden. Ich weiß nicht, was mit definierten Variablen im Namensmanager passiert, wenn das Tabellenblatt mit dem Namen kopiert wird.
Hat jemand eine Idee? Eine Beispielmappe habe ich angehängt.
Danke für eure Unterstützung (und sorry wegen der langen Problembeschreibung ;).
Frohe Ostern noch.
AL
https://www.herber.de/bbs/user/145301.xlsm

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Attribute in Function
04.04.2021 11:21:58
Oberschlumpf
Hi,
a) wieviele Parameter können denn maximal an eine Function übergeben werden?
b) andere Möglichkeit:
Arbeite mit globalen Variablen.
Unterschied lokal - global:

mit lokalen Variablen
Sub Test1()
Dim test As String, test2 As Integer
test = "irgdein Text"
test2 = 1
End Sub
die beiden Variablen test + test2 haben nur in der Sub Test1 ihre Gültigkeit - nach Beenden von  _
Test1 verlieren beide Variablen ihre Werte.

----

mit globalen Variablen
PUBLIC testA As String, testB As Integer
Sub Test2()
testA = "anderer Text"
testB = 2
End Sub
beide Variablen testA + testB behalten so lange ihre Werte, bis entwder im Code die Werte von  _
testA + testB geändert oder gelöscht werden, oder bis der ganze Code mit END beendet wird
Hilfts?
Ciao
Thorsten

Anzeige
AW: Attribute in Function
04.04.2021 15:01:24
AL
Hallo Thorsten,
danke dir für die prompte Antwort.
zu a): Es können maximal 60 Parameter in eine Function übergeben werden.
zu b): Da meine VBA Kenntnisse doch recht bescheiden sind, könntest du mir anhand meiner Beispielmappe ein oder zwei Attribute/Variablen als globale Variablen testA / testB in deinen Sub Test2 einfügen? Mir ist nicht klar, wie man das machen würden.
Grüße
AL
AW: Attribute in Function
05.04.2021 01:45:34
fcs
Hallo AL,
Zugriff auf die Daten der verschiedenen Profile
Hier muss man für den Zellbereich mit allen Daten zur Profil-Art systematisch Namen festlegen.
Für die Namen der Auswahllisten für "ART" hast du die Namen
LProfile, IProfile, OProfile, UProfile
definiert.
Für den Zellbereich mit alle Daten der jeweiligen Profile hab ich jetzt die Namen
Daten_LProfile, Daten_IProfile, Daten_OProfile, Daten_UProfile
definiert.
Am Beispiel der Functions
___ fnc_Attribut_Profil
___ Test2
kannst du sehen, wie die Parameter ProfilArt, Profil und das Attribut (Wert in 1. Zeile der Profildaten) verwendet werden, um auf den Wert des Attributs zum Profil zu kommen.
Reduzieren Anzahl der Parameter einer Function.
Die Paramter müssen nicht unbedingt einzeln an die Function übergeben werden. Es können auch Zellbereiche als Parameter übergeben werden.
Innerhalb der Function können dann die Inhalte der Zellen des Zellbereichs einzelnen Variablen zugewiesen werden. Beispiel siehe Function "Test".
Was passiert, wenn eine Tabelle mit Namen kopiert wird:
In der Kopie sind die Namen weiter vorhanden - allerdings beziehen sich diese Namen auf die Kopie, während die Namen auf der Originaltabelle sich normalerweise auf die Arbeitsmappe beziehen. Im Namensmanager erkennst du dies an dem Wert in der Spalte "Bereich".
Werden Namen in Formeln verwendet, dann beziehen sie sich normalerweise auf den Zellbereich im jeweiligen Tabellenblatt.
Für die Formeln mit Namen ist das Kopieren des Tabellenblatts also unschädlich.
Wenn ein Name für Zelle/Zellbereich im Namensmanager definiert wird, dann kann für den Namen auch das Tabellenblatt als Bereich gewählt werden.
LG
Franz
https://www.herber.de/bbs/user/145314.xlsm
Anzeige
AW: Attribute in Function
05.04.2021 14:52:58
AL
Hallo Franz,
besten Dank für die Hilfe. Du kannst dir nicht vorstellen, wie lange ich nach einer solchen Lösung gesucht habe.
Schönen Ostermontag noch.
AL

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige