Announcement

Collapse
No announcement yet.

array in vba

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • array in vba

    Hi,
    kann man in vba ein array in einer schleife werte zuweisen ohne vorher die größe des array festlegen zu müssen?
    Wenn nicht kann ich die größe später nochmal ändern nachdem ein array deklariert und mit daten versehen ist?
    Dh. zb in der schleife bei jedem schleifen durschgang größe + 1.
    Währe nett wenn ihr mir einen kleinen code ausschnitt bei postet oder mir die Funktionen nennt womit man array größe ändern kann, festlegen, abfragen etc. Denn ich habe seit 5 jahren etwa kein VB mehr programmiert und tuh mir damit immoment sehr schwer.

    Danke im voraus

  • #2
    Hallo!<br>
    <br>
    Mit folgender Zeile kannst Du die Größe eines Arrays ändern:<pre><b>ReDim Preserve</b> MyArray(<newsize>)</pre>Preserve sorgt dabei, das die enthaltenen Werte erhalten bleiben - klappt natürlich nur beim Vergrößern des Arrays&nbsp;&nbsp;&nbsp;<br>
    <br>
    Gruß<br>
    &nbsp;Nico Stöckig

    Comment


    • #3
      Hallo,
      ich habe die gleiche Frage, wie muss ich dynamische Arrays in C# deklarieren und initialisiern?
      Danke für jede Hilfe.
      Gruß Börg

      Comment


      • #4
        an Sven:
        die Größe bei jedem Schleifendurchgang um 1 zu erhöhen ist EXTREM schlechte Programmierweise, weil es einfach viel zu viel Performance schluckt. besser vergrößere den Array bei jedem 50. Durchgang um 50 Stück. oder noch besser, fang z.B. mit 32 Einträgen an und ändere die Größe nur, wenn es nötig wird, und dann immer auf CInt(1.5*bisherigeGröße) oder 2*bisherigeGröße (so werden "vector"s in C++ auch gehandhabt, glaub ich) - hat bei mir in einem Fall die Laufzeit des Programms um 95% reduziert!
        du kannst die überschüssigen Einträge ja nach Verlassen der Schleife wieder abschneiden.

        Größe abfragen geht übrigens mit UBound(Arrayname [,Dimension]

        Comment

        Working...
        X