Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1552to1556
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

Zeile in Array einfügen (nicht anhängen)

Zeile in Array einfügen (nicht anhängen)
11.04.2017 16:30:52
Barbaraa
Hallo
Meinem eindimensionalem Array muss an erster Stelle noch eine Zeile eingefügt werden.
Mit einer Scheife kann ich es, aber geht das ohne Schleife?
Sub Zeile()
Dim Liste(3)
Liste(0) = "Banane"
Liste(1) = "Citrone"
Liste(2) = "Dattel"
'Hoppla. Habe zu Beginn "Apfel" vergessen.
'Wie kann man das jetzt noch ändern?
'Liste(0) soll "Apfel" sein.
End Sub
LG,
Barbara

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile in Array einfügen (nicht anhängen)
11.04.2017 16:39:48
Hajo_Zi
Hallo Babara,
alles neu reinschreiben.

AW: Zeile in Array einfügen (nicht anhängen)
11.04.2017 16:43:17
ransi
HAllo,
Etwas gescheiters ist mir grad nicht eingefallen...
Option Explicit

Sub Zeile()
    Dim Liste(3)
    Dim vntArr
    Dim tmpStr As String
    Liste(0) = "Banane"
    Liste(1) = "Citrone"
    Liste(2) = "Dattel"
    
    tmpStr = Join(Liste, "###")
    tmpStr = "Apfel###" & tmpStr
    vntArr = Split(tmpStr, "###")
    Redim Preserve vntArr(UBound(vntArr) - 1)
    
    'Hoppla. Habe zu Beginn "Apfel" vergessen.
    'Wie kann man das jetzt noch ändern?
    'Liste(0) soll "Apfel" sein.
End Sub



ransi
Anzeige
Arraylist.Insert(0),"Apfel"
11.04.2017 16:55:06
ransi
HAllo BArbara,
Mit einer ArrayList geht das auch ganz direkt.
Sub machs()
    Dim objArrayList As Object
    Dim Liste As Variant
    Set objArrayList = CreateObject("system.Collections.Arraylist")
    With objArrayList
        .Add "Banane"
        .Add "Citrone"
        .Add "Dattel"
        Liste = .toArray
        MsgBox Join(Liste, vbCrLf)
        'Hoppla. Habe zu Beginn "Apfel" vergessen.
        'Liste(0) soll "Apfel" sein.
        .Insert (0), "Apfel"
        Liste = .toArray
        MsgBox Join(Liste, vbCrLf)
    End With
End Sub


ransi
Anzeige
AW: Zeile in Array einfügen (nicht anhängen)
11.04.2017 16:57:06
Daniel
Hi
prinzipell braucht man Schleifen bei einfachen Arrays nicht vermeiden, da Schleifen über einfache Wertarrays sehr schnell sind (manchmal sogar schneller als vergleichbare VBA-Funktionen)
wenns Schleifenfrei sein soll, gäbe es noch folgenden Workaround über die Listbox, denn bei einer Listbox kann man mit .AddItem die Werte an beliebiger Stelle hinzufügen:
1. lege eine versteckte Listbox an.
2. Übergebe das Array der Listbox
3. füge mit .AddItem der Listbox den Wert an der gewünschten Stelle hinzu
4. Übergebe die Listboxliste zurück ins Array und transponiere das Array:
With Tabelle1.ListBox1
.List = Liste
.AddItem "Apfel", 0
Liste = WorksheetFunction.Transpose(.List)
End With
Gruß Daniel
Anzeige
AW: Zeile in Array einfügen (nicht anhängen)
12.04.2017 19:52:40
Barbaraa
Hallo liebe Experten,
danke für die interessanten Vorschläge. Habe wieder was dazu gelernt.
LG, Barbara
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge