Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen

VBA Verweise


Betrifft: VBA Verweise von: Erwin
Geschrieben am: 28.09.2019 21:39:58

Hallo,

ich suche den Namen des Verweises um CreateObject("System.Collections.Arraylist")
zu nutzen.

Gruß Flo

  

Betrifft: AW: VBA Verweise von: Oberschlumpf
Geschrieben am: 28.09.2019 22:12:56

Hi Erwin,

wie findest du das hier?
https://www.herber.de/forum/archiv/1120to1124/1122872_Systemcollectionsarraylist.html

gefunden bei Google mit diesem Suchtext:
System.Collections.Arraylist welcher verweis

Ciao
Thorsten


  

Betrifft: AW: VBA Verweise von: Erwin
Geschrieben am: 28.09.2019 22:27:16

Hallo Thorsten,

hilft nicht, führt zu einem Automatisierungsfehler,
da der Verweis fehlt, dessen Name ich ja gerade suche.

Gruß
Erwin


  

Betrifft: AW: VBA Verweise von: snb
Geschrieben am: 28.09.2019 22:45:33

Schau mal:

http://www.snb-vba.eu/VBA_Arraylist_en.html#L_4.1


  

Betrifft: AW: VBA Verweise von: Oberschlumpf
Geschrieben am: 28.09.2019 22:46:17

hmm

Hi Erwin,

aber der Dateiname wird doch in dem Link genannt.

Ransi schreibt:

von: ransi
Geschrieben am: 10.12.2009 18:31:41

HAllo

Die ArrayList ist in der mscorlib.dll enthalten.

>>>>>>>>>und er schreibt noch mehr Tipps<<<<<<<<<<<

Aber ok, wenn das nich hilft, weiß ich leider auch nix.

Ciao
Thorsten


  

Betrifft: AW: VBA Verweise von: Erwin
Geschrieben am: 29.09.2019 09:38:58

Hi,

den Namen hätte ich dann schon mal: mscorlib.dll

Hatte ich auch in den Verweisen ausgewählt und getestet mit:

Sub Test()
    Dim c As Object
    Set c = CreateObject("System.Collections.ArrayList")
End Sub
führt aber zu einem Automatisierngsfehler.

Ich habe Windows 10, Excel 15, Framework 4

Als Pfad für mscorlib.dll wird angezeigt:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.tlb

Gruß
Flo


  

Betrifft: AW: VBA Verweise von: Oberschlumpf
Geschrieben am: 29.09.2019 09:54:26

Hi Erwin,

ich habe deinen Code gerade getestet - läuft auf meinem PC ohne Fehlermeldung durch.

Du nutzt Office 2013, ich nutze Office 2016.

Als Verweise in der getesteten, neuen Excel-Datei sind gesetzt:

(die mscorlib.dll ist nicht mit dabei)

Eigtl find ich es unwahrscheinlich, weil Excel 2013 ja auch nicht sooo alt ist, aber vllt hats doch was mit deiner Version zu tun?????

Ciao
Thorsten


  

Betrifft: AW: VBA Verweise von: Erwin
Geschrieben am: 29.09.2019 19:49:19

Hi Thorsten,

Windows 7 + Excel 2011: kein Fehler, ob mscorlib.dll erforderlich weis ich jetzt nicht mehr
Windows 10 + Excel 2016: kein Fehler, mscorlib.dll nicht erforderlich
Windows 10 + Excel 2013: Automatisierungsfehler

Hat wohl mit mscorlib.dll nichts zu tun.

Auf meinem Rechner war Windows 7 + Excel 2011 installiert, es erfolgt ein update auf Windows 10 + Excel 2013. Ob hier ein Installationsfehler kann ich nicht raus finden, zumal mir Administrationsrechte fehlen.

Gruß
Flo


  

Betrifft: AW: VBA Verweise von: Oberschlumpf
Geschrieben am: 29.09.2019 22:20:09

Hallo noch mal,

hmm...ich lese diesen Beitrag erst jetzt, nachdem ich im anderen schon geantwortet habe.
In deiner anderen Antwort dachte ich noch, du hast dich vertippt.
Aber auch hier schreibst du wiederholt Windows 10 + Office 2011 ???

Office 2011 ist doch die Version für Apple, oder???

Na ja, das nur hier nebenbei.

Ciao
Thorsten


  

Betrifft: AW: VBA Verweise von: Erwin
Geschrieben am: 30.09.2019 08:24:17

Hallo,

sorry, es war Windows7+Office2010 (excel 14.0)

Gruß
Flo


  

Betrifft: AW: VBA Verweise von: Erwin
Geschrieben am: 30.09.2019 08:28:32

Hi Thorsten,

sorry, war natürlich Windows7+Office2010

Gruß
Flo


  

Betrifft: LÖSUNG !!! ??? !!! :-) von: Oberschlumpf
Geschrieben am: 29.09.2019 10:09:47

Hi Erwin!

Öffne mal im VBE Extras/Verweise und scroll dann so weit runter bis...



und jetzt schreibst du in deinem Code so wie hier



Die Auswahl "As ArrayList" stand nicht zur Verfügung, so lange der obige Verweis nicht gesetzt war.
Ich habe jetzt zwar keine Testcodes geschrieben, um tatsächlich den Beweis zu haben, mit dem ich deine Frage beantworten könnte, aber ich frage trotzdem :-)

Ist dein Problem nun gelöst?

Ciao
Thorsten


  

Betrifft: AW: LÖSUNG !!! ??? !!! :-) von: Erwin
Geschrieben am: 29.09.2019 20:05:08

Hi Thorsten,

der Code muss auf Rechnern mit unterschiedlichen Windows + Office-Versionen laufen:

Windows7+Excel2011: funktioniert
Windows10+Excel:2016: funktioniert
Windows10+Excel2013: funktioniert nicht

hier der Code:

strText Liste die Sortiert werden soll, z.B.: "A12, A123, B12, A34, B12, A2, B1"
SortOrder, 0=unsortiert, 1=abwärts, 2=aufwärts

Function Sorttext(strText As String, Optional SortOrder As Byte = 2) As String
    On Error GoTo Laufzeitfehler
    Dim objArrayList As Object
    Dim vntArr As Variant
    Dim L As Long
    If SortOrder > 1 Then
        Set objArrayList = CreateObject("System.Collections.Arraylist")
        vntArr = Split(strText, ", ")
        With objArrayList
            For L = LBound(vntArr) To UBound(vntArr)
                .Add (vntArr(L))
            Next
            .Sort
            If SortOrder = 2 Then
                Sorttext = Join(.ToArray, ", ")
            Else
                .Reverse
                Sorttext = Join(.ToArray, ", ")
            End If
        End With
    Else
        Sorttext = strText
    End If
    On Error GoTo 0
    Exit Function
Laufzeitfehler:
    'Fehlerbehandlung
    'Call Fehlermeldung("Sorttext(strText As String, Optional sortOrderUp As Boolean = True) As  _
String")
End Function
Gruß
Flo


  

Betrifft: AW: LÖSUNG !!! ??? !!! :-) von: Oberschlumpf
Geschrieben am: 29.09.2019 22:12:31

Hi Erwin,

ich freu mich, dass du zumindest grundsätzlich mit meiner Hilfe eine Lösung gefunden hast.
Aber warum es mit Win10+O2013 nicht geht, weiß ich leider auch nicht. Ich habe nur O2016 zur Verfügung.
Vielleicht findet sich ja noch jemand, der dir auch die letzte Frage beantworten kann.

Ciao
Thorsten


  

Betrifft: hier weiter offen...owT von: Oberschlumpf
Geschrieben am: 29.09.2019 22:20:55




  

Betrifft: AW: hier weiter offen...owT von: Erwin
Geschrieben am: 29.09.2019 23:12:41

Hallo,

vielleicht hat jemand eine einfache Lösung ohne "CreateObject("System.Collections.Arraylist")",
die ich dann für meinen Fall "Win10+O2013" anwenden kann. Falls nicht müsste ich die Liste dann
in einer Schleife sortieren. Interessant wäre auch eine Verifizierung des Falls "Win10+O2013".


Gruß
Flo


  

Betrifft: AW: hier weiter offen...owT von: Oberschlumpf
Geschrieben am: 30.09.2019 08:50:30

Hi Erwin?,
Hi Flo?,

vllt ein Missverständnis.

Wenn du den Verweis auf die mscorlib.dll setzt, wird die Zeile

CreateObject("System.Collections.Arraylist")

nicht mehr benötigt.

Hilft dieser Hinweis für XL2013?

Ciao
Thorsten


  

Betrifft: AW: hier weiter offen...owT von: Erwin
Geschrieben am: 29.09.2019 23:12:48

Hallo,

vielleicht hat jemand eine einfache Lösung ohne "CreateObject("System.Collections.Arraylist")",
die ich dann für meinen Fall "Win10+O2013" anwenden kann. Falls nicht müsste ich die Liste dann
in einer Schleife sortieren. Interessant wäre auch eine Verifizierung des Falls "Win10+O2013".


Gruß
Flo


  

Betrifft: AW: hier weiter offen...owT von: Erwin
Geschrieben am: 29.09.2019 23:13:06

Hallo,

vielleicht hat jemand eine einfache Lösung ohne "CreateObject("System.Collections.Arraylist")",
die ich dann für meinen Fall "Win10+O2013" anwenden kann. Falls nicht müsste ich die Liste dann
in einer Schleife sortieren. Interessant wäre auch eine Verifizierung des Falls "Win10+O2013".


Gruß
Flo


  

Betrifft: AW: hier weiter offen...owT von: Erwin
Geschrieben am: 29.09.2019 23:13:41

Hallo,

vielleicht hat jemand eine einfache Lösung ohne "CreateObject("System.Collections.Arraylist")",
die ich dann für meinen Fall "Win10+O2013" anwenden kann. Falls nicht müsste ich die Liste dann
in einer Schleife sortieren. Interessant wäre auch eine Verifizierung des Falls "Win10+O2013".


Gruß
Flo


  

Betrifft: AW: hier weiter offen...owT von: Erwin
Geschrieben am: 29.09.2019 23:13:58

Hallo,

vielleicht hat jemand eine einfache Lösung ohne "CreateObject("System.Collections.Arraylist")",
die ich dann für meinen Fall "Win10+O2013" anwenden kann. Falls nicht müsste ich die Liste dann
in einer Schleife sortieren. Interessant wäre auch eine Verifizierung des Falls "Win10+O2013".


Gruß
Flo


  

Betrifft: AW: hier weiter offen...owT von: Erwin
Geschrieben am: 29.09.2019 23:13:59

Hallo,

vielleicht hat jemand eine einfache Lösung ohne "CreateObject("System.Collections.Arraylist")",
die ich dann für meinen Fall "Win10+O2013" anwenden kann. Falls nicht müsste ich die Liste dann
in einer Schleife sortieren. Interessant wäre auch eine Verifizierung des Falls "Win10+O2013".


Gruß
Flo


  

Betrifft: AW: hier weiter offen...owT von: Erwin
Geschrieben am: 29.09.2019 23:13:59

Hallo,

vielleicht hat jemand eine einfache Lösung ohne "CreateObject("System.Collections.Arraylist")",
die ich dann für meinen Fall "Win10+O2013" anwenden kann. Falls nicht müsste ich die Liste dann
in einer Schleife sortieren. Interessant wäre auch eine Verifizierung des Falls "Win10+O2013".


Gruß
Flo


Beiträge aus dem Excel-Forum zum Thema "VBA Verweise"