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

Deklarationsproblem Array/ String (as Variant)

Deklarationsproblem Array/ String (as Variant)
Andreas
Liebe Excel Freunde,
ich bin heute wiederholt über ein Problem in der Deklaration „as Variant“ gestolpert. Ich lasse das Ergebnis einer Function an eine Variant Variable übergeben. Das Ergebnis der Function kann ein Array oder ein String sein. Meinem bisherigen Kenntnisstand nach müßte Variant beides „fassen“ können. Aber ich bekomme eine Fehlermeldung. Wo ist mein Denkfehler? Anbei eine kleine Beispieldatei:
https://www.herber.de/bbs/user/76856.xls
Der Function- Aufruf erfolgt in der Zeile „varArr = ArrayInArraySplit(0)“. Ich dachte bisher daß Variant mit „varArr = ArrayInArraySplit(0)“ als auch „varArr = ArrayInArraySplit(1)“ umgehen kann. Das ist leider nicht der Fall.
Auch eine Internet/ Forumssuche nach dem Grund blieb bisher erfolglos. Ich würde mich freuen, wenn ein Forumsteilnehmer seine Meinung dazu kund tun könnte.
Vielen Dank und Grüße, Andreas Hanisch

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Deklarationsproblem Array/ String (as Variant)
04.10.2011 14:34:08
Rudi
Hallo,
Das Ergebnis der Function kann ein Array oder ein String sein.
Das klappt ja auch. Nur deine anschließende Abfrage verursacht einen Fehler. Prüfe, ob es sich um ein Array handelt.

If IsArray(varArr) Then
Debug.Print UBound(varArr, 1)
Else
Debug.Print "String"
End If

Ich würde übrigens den zu zerlegenden String nicht in der Funktion definieren, sondern an sie übergeben.
Gruß
Rudi
If IsArray(arrVar) Then
04.10.2011 14:37:52
NoNet
Hallo Andreas,
das kannst Du mit der Funktion ISARRAY(arrVar) testen :

Sub ArrayTest()
Dim varArr As Variant
varArr = ArrayInArraySplit(0)
'varArr = "Nur Text"
If IsArray(varArr) Then
Debug.Print UBound(varArr)
Else
Debug.Print "String"
End If
End Sub

Gruß, NoNet
Anzeige
AW: If IsArray(arrVar) Then
04.10.2011 14:47:01
Andreas
Hallo Rudi, hallo NoNet,
da habe ich den Wald vor lauter Bäumen nicht gesehen... Genau danach suchte ich um das Ergebnis der Function sauber auswerten zu können.
Vielen Dank Euch beiden.
Grüße, Andreas Hanisch

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige