Office: (Office 2013) VBA - Array leeren ohne die Dimensonen / Größe zu verlieren

Helfe beim Thema VBA - Array leeren ohne die Dimensonen / Größe zu verlieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, Mal ne bescheidene Frage zu Arrays. Wie kann man einen Array leeren ohne die Größe des Arrays zu löschen? Mit Erase wird das Array... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Tauchmann, 23. April 2016.

  1. Tauchmann Erfahrener User

    VBA - Array leeren ohne die Dimensonen / Größe zu verlieren


    Hallo zusammen,

    Mal ne bescheidene Frage zu Arrays.
    Wie kann man einen Array leeren ohne die Größe des Arrays zu löschen?
    Mit Erase wird das Array auf „Jungfreulichkeit“ zurückgesetzt und müsste wieder mit ReDim neu gestallte werden.
    Im Netz habe ich etwas über Clear oder Nothing gefunden, aber leider funktioniert das bei mir nicht.

    Hat einer von Euch eine Idee?

    SG
    Tauchmann

    Hier mal men Testobject

    Code:
    Sub lkjk()
        Dim l() As String
        Dim i As Long
        Dim j As Long
        
        ReDim l(1 To 3)
        
        For i = 1 To 2
            
            Select Case i
                Case Is = 1
                    l(1) = "a"
                    l(2) = "b"
                    l(3) = "c"
                Case Is = 2
                    l(1) = "aa"
                    l(2) = "bb"
                    l(3) = "cc"
            End Select
    
            
            For j = 1 To 3
                Debug.Print l(j)
            Next j
            
            Erase l
    '        ReDim l(1 To 3)
        Next i
    End Sub
     
    Tauchmann, 23. April 2016
    #1
  2. Hallo!
    ReDim benutzt man doch nur, wenn man die Größe zu Beginn des Makros nicht weiß, sie also erst ermittelt werden muss.
    Bei Dir reicht doch Dim l(1 To 3) As String im Deklarationsteil.

    2 Nachsätze:
    - Warum 1-basiert? Dim l(2) As String hat ebenfalls 3 Einträge
    - Hat Jungfreulichkeit was mit erfreulich zu tun? ;-)

    Gruß Ralf
     
  3. Tauchmann Erfahrener User
    Hallo Ralf,

    Danke für deine Antwort,
    Der Code ist nur ein Testobjekt, mein Projekt ist deutlich länger.
    Mit ReDim und 1 To 3 hast du natürlich recht, der Teil ist an meinem richtigen Projekt angeleht.

    In meinem Projekt kann ich nicht sagen wiegroß der Array wird, deswegen ReDim im Testobjekt.
    Weiterhin benutze ich in meinem Projekt Erase um das Array zu leeren was aber zur Folge hat das der Array auf "Jungfreulichkeit" zurückgesetzt wird (kannste ja mit dem Tetobjekt mal probieren).

    Gibt es einen Befehl was den Inhalt eines Arrays leert?

    SG
    Martin
     
    Tauchmann, 23. April 2016
    #3
  4. maninweb
    maninweb MVP für Microsoft Excel

    VBA - Array leeren ohne die Dimensonen / Größe zu verlieren

    Hallo,

    Erase setzt bei einem dynamischen Array auch die Größe zurück, anders als bei fest dimensionierten. Einen
    weiteren Befehl zu leeren eines Arrays gibt es m.W: nicht. Meiner Ansicht nach sollte bei dem dynamischen
    Array ReDim arrTest(LBound(arrTest) To UBound(arrTest)) ausreichen, was einem Reinitialisieren entspricht.

    Gruß
     
    maninweb, 23. April 2016
    #4
  5. Tauchmann Erfahrener User
    Hallo Ralf,

    Danke für deine Antwort.
    Ich habe es mir fast gedacht das es keinen anderen Befehl dafür gibt.
    Ist ja auch irgendwie nicht notwendig wenn man ReDim verwendet, wie du ja geschrieben hast.

    Nochmals vielen Dank und ein schönes WE.
    Tauchmann
     
    Tauchmann, 23. April 2016
    #5
Thema:

VBA - Array leeren ohne die Dimensonen / Größe zu verlieren

Die Seite wird geladen...
  1. VBA - Array leeren ohne die Dimensonen / Größe zu verlieren - Similar Threads - VBA Array leeren

  2. Array aus Excel Tabelle einlesen Word VBA

    in Microsoft Excel Hilfe
    Array aus Excel Tabelle einlesen Word VBA: Hallo, ich benötige in einer Word Datei die Werte einer Excel Datei. Ich würde gerne eine Spalte als Array einlesen. Wie das Array ein lesen in Excel geht weiß ich, aber wie schaffe ich den...
  3. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  4. VBA Daten in Array durch inputbox befüllen lassen

    in Microsoft Excel Hilfe
    VBA Daten in Array durch inputbox befüllen lassen: Hi zusammen, Ich hab mal wieder eine Excel VBA Frage. Kurz zur Erklärung: Ich erhalte von einem Kunden eine Datei mit wiederum seinen Kunden, die ein bestimmtes Produkt gekauft haben(den Sinn...
  5. VBA Funktion Range in Array umwandeln

    in Microsoft Excel Hilfe
    VBA Funktion Range in Array umwandeln: Liebe Alle! Ich hab folgendes Problem. Ich möchte ein Funktion die Zahlen in einer Range übernimmt und dann in ein Array kopiert / umwandelt. Code: Option Explicit Public Function...
  6. VBA SQL-Anfrage mit Array

    in Microsoft Excel Hilfe
    VBA SQL-Anfrage mit Array: Hallo Zusammen Ich bin mal wieder auf ein Problem gestoßen, bei dem ich nicht weiterkomme. In VBA eine SQL-Anfrage, in der mehrere Bedingungen über ein Array eingepflegt werden sollen. Ich...
  7. VBA - If Vergleich in einem Array erkennt 0 = LEER als TRUE --> warum???

    in Microsoft Excel Hilfe
    VBA - If Vergleich in einem Array erkennt 0 = LEER als TRUE --> warum???: Hallo zusammen, Aktuell arbeite ich viel mit Arrays und dabei bin ich auf etwas gestoßen was ich nicht nachvollziehen kann. Vielleicht könnt Ihr mir da weiterhelfen? Wenn ich in einen Array...
  8. VBA - Mehrdimensionale Array - Wie L & Ubound jeder Dimension auslesen

    in Microsoft Excel Hilfe
    VBA - Mehrdimensionale Array - Wie L & Ubound jeder Dimension auslesen: Hallo, mal eine bescheidene Frage zum Thema mehrdimensionale Arrays. Wie kann man den LBound und Ubound von einem z.B. 2-dimensionalen Array herausfinden? Wie macht man das für die erste und...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden