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

Datenfeld / Range

Datenfeld / Range
01.12.2006 19:20:16
Markus
Liebe Leute,
ich brauche noch einmal professionelle Hilfe. Für die, die genauer wissen wollen warum ich das benötige. Ich habe eine Funktion, die eine Subfunktion aufruft. Die Subfunktion selber hat einen Eingabeparameter, der als Range definiert wurde, damit ich die Subfunktion aus einem Excelblatt mit einem definierten Range auch direkt aufrufen kann. Wenn ich die Subfunktion nun von der Hauptfunktion aus ausrufe liegt jedoch kein Range, sondern ein Datenfeld vor. Also sollte ich dieses Datenfeld vorher in einen Range umwandeln, damit der Aufruf auch von der Hauptfunktion aus funktioniert.
Schon mal Dank für Eure Hilfe.
Gruß Markus

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

Betreff
Datum
Anwender
Anzeige
AW: Datenfeld / Range
01.12.2006 19:43:03
ingUR
Hallo, Markus,
Ein Range-Objekt ist verankert in dem Objekt eines Tabellenblatts (Sheet) und Bedarf die enstprechenden Parameter. Daher ist es m.W. nach nicht möglich, ein Datenfeld in eine Range-Objekt zu wandeln.
Vielleicht kannst Du Deine Funktionsaufrufe so gestalten, dass Du die Funktion mit einer Datenfeldübergabe deklarierst und zusätzlich eine Funktion erstellts, die die Werte des übergebende Range-Objekts in eine Datenfeld einliest und dann den Aufruf der Funktion mit dem Datenfeld-Parameter durchführt:
Ideenskizze:
(auf Modulebene)
Function ArrayManipulation(Datenfeld() as variant) as variant
ArrayManipulation = ...
end function
(auf Worksheetebene)
Function RangeArray(rng as range) as variant
dim Feld() as variant
redim Feld(...)
Feld(...)=range...
RangeArray = ArrayManipulation(Feld)
end function

Ich lasse die Frage weiterhin als unbeantwortet offen, da meine Ideenskizze möglicherweise nicht vollständig ist.
Gruß,
Uwe
Anzeige
AW: Datenfeld / Range
01.12.2006 20:09:26
Markus
Hallo Uwe,
Dank Dir für Deine Hilfe Ich hatte gehofft, dass es ohne Umwege geht. Aber Deine Lösung scheint gut, ich werde es ausprobieren.
Gruß Markus
AW: Datenfeld / Range
01.12.2006 20:13:12
Luc:-?
Hallo Markus und Uwe,
darüber habe ich mir schon mal Gedanken gemacht, weil das ja des Öfteren auftritt und manche xlStandardfktt nur Ranges verarbeiten können (z.B. RANG). Leider kann ich noch keine fertige Fkt anbieten, schlage aber vor, dass du zumindest die Anfangszelle des Bereichs, den die Hptfkt zu einem Feld verarbeitet, der Subfkt mitteilst, damit diese die richtige Zuordnung treffen kann (noch sehr vage!)... Alternativ kannst du doch den Bereichsbezug der Subfkt als Variant deklarieren und in der Subfkt mit TypeName = "Range" fragen, ob es sich um einen Bereichsbezug handelt. Sowohl für diese als auch Felder (Arrays) ist IsArray(...) stets True. Wäre dann b.Bedarf die nachgeordnete Abfrage. Übrigens habe ich die Erfahrung machen müssen, dass Felder aus Bereichen anders indiziert (Spalte vor Zeile) wdn als die Bereiche (Zeile vor Spalte, bei Standardeinstellungen). Natürlich wäre es dann besser, mit UBound(...) als mit .Cells.Count zu arbeiten. Ersteres würde immer, Letzteres nur dann fkt, wenn wirklich ein Range übergeben wurde.
Viel Erfolg! Gruß Luc :-?
Anzeige
AW: Datenfeld / Range
01.12.2006 23:29:09
Erich
Hallo Markus,
einen Dreh, einer Excelfunktion, die als Parameter eine Range braucht, diese Range nur "vorzugaukeln", wüsste ich nicht.
Eine Möglichkeit ist, der Funktion eben ihre Range zu geben - auf einem Tabellenblatt.
Das passiert in der Mappe beim Beispiel "Produkt".
Auch noch in der Mappe ist die Berechnung der Summe einer Range per Berechnung einer Array-Summe:
https://www.herber.de/bbs/user/38674.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige