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

Frage zu Typename

Frage zu Typename
11.08.2020 14:53:55
Thomas
Hallo
Frage zu Typename.
Wie hier zu sehen ist, das Ergebnis von Typename kann "Dictionary" oder "Collection" sein, falls die Variable ein solches ist.
Sub Typensuche()
Dim Verzeichnis   As Object
Set Verzeichnis = CreateObject("Scripting.Dictionary") ' Create(late binding)
Debug.Print "Verzeichnis ist ein " & TypeName(Verzeichnis)
'Liefert: "Verzeichnis ist ein Dictionary"
Dim Sammlung As New Collection
Debug.Print "Sammlung ist eine " & TypeName(Sammlung)
'Liefert: "Sammlung ist eine Collection"
Dim Raster
ReDim Raster(1 To 5, 1 To 2)
Debug.Print "Raster ist eine " & TypeName(Raster)
'Liefert: "Raster ist eine Variant()"
End Sub
Bin da eher durch Zufall drauf gekommen, denn das ist aber auf keiner der vielen Erklärungs- und Anleitungsseiten zu sehen. Warum? Ist das geheim? Oder keine offizielle Funktion? Nicht, dass ich mich beklage. Im Gegenteil, ich kann das gut verwenden. Aber warum steht das nirgends? Das verunsichert mich.
Und: Was ist der Unterschied zu "VBA.Typename"?
Gruß Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wie sagt man so schön...
11.08.2020 17:46:33
Case
Hallo Thomas, :-)
... "Augen auf beim Eierkauf". ;-)
Die Suche danach führt dich z. B. hier hin:
TypeName...
Dann:
Datentypen...
Und:
VarType-Konstanten...
Am besten du gewöhnst dir gleich an immer über F2 im VBA-Editor im Objektkatalog nachzuschauen.
Dort gibst du im Suchfenster "TypeNmae" ein (ohne Gänse) und klickst auf das Fernglas, oder Return.
Dort siehst du dann, dass "TypeName" aus der Bibliothek VBA kommt und der Klasse Information zugeordnet wird.
Du kannst das auch nutzen, um z. B. sowas zu machen:
Debug.Print TypeName(Cells(1, 1).Value)
Mache das, wenn die Zelle leer ist, ein Wort, eine Zahl oder ein Datum enthält.
Also "immer schön schlurpe" - wie der Franzose sagen würde. Lass dich nicht verunsichern. ;-)
Servus
Case

Anzeige
Natürlich TypeName... KEIN SCHLUCK MEHR!
11.08.2020 17:48:00
Case
:-)
AW: Frage zu Typename
11.08.2020 17:56:19
onur
Microsoft:
Bei der von TypeName zurückgegebene Zeichenfolge kann es sich um eines der folgenden Elemente handeln:
...
...
...
usw.
d.h. nicht, dass es eins von diesen Elementen sein muss.
Was ist denn ein "VBA.Typename"?
AW: Frage zu Typename
11.08.2020 18:18:53
Thomas
OK, kann es sich im eine der folgenden 15 (!) Elemente handeln. Aber die beiden wichtigsten (jetzt zumindest, die, von denen ich eine Möglichkeit der Erkennung suche, die stehen nicht dabei. da kann ich lange suchen. OK, jetzt weiß ich es.
VBA.TypeName? Mein Makro von oben geht auch, wenn man vor "TypeName" ein "VBA." schreibt. Sicher, es geht so oder so. Hätte mich nur interessiert. Ein Blick über den Tellerrand
Anzeige
AW: Frage zu Typename
12.08.2020 11:10:41
Luschi
Hallo Thomas
alle Vba-Funktionen sind in Bibliotheken eingepackt, wovon bestimmte davon zum Standard-Repertoire gehören - und dazu gehört die Vba-Bibliothek.
Ob der Aufruf mit oder ohne 'Vba.' erfolgt ist eigentlich egal, aber der Aufruf ohne den Vorsatz 'Vba.' ist nach dem erfolgreichen Kompilieren die Gewähr, daß alles i.O. ist und die eingebundenen Bibliotheken auch vorhanden sind.
Meist stottert es, wenn im Projekt eingebundene Bibliotheken auf den Anwendungsrechner nicht vorhanden sind - und dann meckert der Compiler die Vba-Funktionen wie 'Left', Right' 'Date' usw. an.
Ein typisches Bespiel dafür ist das ehemals integrierte Kalender-Steuerelement, welches in neueren Excel-Versionen nicht/oder nicht mehr zur Standard-Ausstattung gehört und somit Probleme allerart bereitet.
Gruß von Luschi
aus klein-Paris
PS: neben 'TypeName' gibt es auch noch 'VarType'
Anzeige
AW: Frage zu Typename
15.08.2020 16:56:04
Thomas
Danke Luschi, interessant.
Ja, VarType habe ich schon gesehen.
Gruß, Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige