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
400to404
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
400to404
400to404
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

anzahl Datenfelder im array per Variabel angeben?

anzahl Datenfelder im array per Variabel angeben?
ChrisNa
Hallo liebes xl-Forum,
gibt es eine Möglichkeit die Anzahl der Datenfelder in einem Array variabel anzugeben?
Wenn ich z.B. array-x(100) angebe und über 100 Datenfelder hinaus komme kack mein programm ab.
Ich berechne die Anzahl der benötigten Datenfelder am Anfang, kann aber nie genau sagen wieviele ich brauch und möchte dies dann dem array mitgeben.
Hat da wer eventl. eine Lösung oder muss ich einen nie erreichbaren utopischen Wert angeben?
Danke in voraus.
Gruß ChrisNa

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

Betreff
Benutzer
Anzeige
AW: anzahl Datenfelder im array per Variabel angeben?
Bert
Du kannst dein Array jederzeit mit Redim umdimensionieren. Wenn die
alten Werte erhalten bleiben sollen dann Redim Preserve. Das geht nur
für die letzte Dimension des Arrays.
Bert
des problem ist array(Variable)
ChrisNa
Hallo Bert,
das ist richtig ich kann das array um Datenfelder (dimensionen) erweitern aber man, aber man kann keine Variable angeben z.B. array(Variable).
Die Variable wird bei mir erst zu Beginn der Laufzeit errechnet und kann jeden wert annehmen.
gruß ChrisNa
AW: des problem ist array(Variable)
Bert
Eh wir hier lange aneinander vorbeiposten, was genau willst du machen?
Konkretes Beispiel ggf. mit Musterdatei.
Bert
Anzeige
AW: des problem ist array(Variable)
ChrisNa
Ich habe im sheet1 eine wertemenge (A:A) die anzahl dieser menge ermittle ich mit D = Sheets(1).Cells.SpecialCells(xlCellTypeLastCell, 1).row . Diese ist allerding x-belibig erweiterbar.
Ich ermittle für jeden einzelnen der werte von sheet(1).range(A:A) eine anzahl. Wie oft z.B. der wert sheet(1).cells(4,1) in einem anderen sheet(2) bis sheet(x) vorhanden ist. Daraus ergibt sich dann die gesammt gefundene anzahl für den wert sheet(1).cells(4,1) von sheet(2) bis sheet(x). Nun soll der name des sheets (von sheet(2) bis sheet(x)) in eine variable gespeichert werden, welcher die größste anzahl zu dem wert z.B. sheet(1).cells(4,) beiträgt.
hm verzeih ist etwas kompliziert formuliert.
gruß ChrisNa
Anzeige
AW: des problem ist array(Variable)
Axel
Hallo,
dein Problem ist noch nicht deutlich genug beschrieben.
Meinst du mit Array ein Feld oder die gleichnamige Funktion?
Vielleicht trägt folgender Code etwas zum Verständnis bei.


Sub x()
   
   ' Feld aus Integer deklarieren
   Dim aint() As Integer
   
   ' Variant deklarieren, wird später als Feld verwendet
   Dim var As Variant
   
   ' Feld dimensionieren, die Größe könnte natürlich auch
   ' über eine Variable festgelegt werden, z.B. ReDim aint(intArrayDimension)
    ReDim aint(3)
    
    ' einige Werte zuweisen
    aint(0) = 3
    aint(2) = 1
    
    ' Feld erweitern, vorhandene Werte erhalten
    ReDim Preserve aint(5)
    Debug.Print aint(2)
          
    ' mit der Array-Funktion kann ein Variant-Feld erstellt werden,
    ' VBA erledigt die notwendige Dimensionierung implizit
    var = Array(1, "Test", True)
    
    ' Zugriff auf die Felder des Variant
    Dim As Integer ' Laufvariable
    For i = LBound(var) To UBound(var)
      Debug.Print var(i)
    Next
    
End Sub
Anzeige
AW: des problem ist array(Variable)
Danke
Hi,
danke für eure Geduld. Mit eurer Hilfestellung hab ichs nun gelöst.
Hatte am Anfang schon Dimensioniert und wollte nun erweitern, was Aufgrund meiner Unfähigkeit fehlgeschlagen ist.
so funzts nun
Dim aint() As Integer
ReDim aint(Variabel)
Gruß ChrisNa

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige