Office: VBA Funktion Range in Array umwandeln

Helfe beim Thema VBA Funktion Range in Array umwandeln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; 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:... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 25. März 2017.

  1. 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:
    Hab mir gedacht es könnte so funktionieren, aber leider will das VBA nicht.
    For x = 0 To UBound(ArrayToSort)
    ArrayToSort(x) = Zahlen.Value2(x + 1)

    Zusatzfrage:
    Die Range bildet an sich ja schon ein Array. Kann man auch damit gleich arbeiten?

    Vielen Dank an alle im Voraus! *Smilie

    :)
     
  2. Hallo Martin,

    zur Zusatzfrage:
    ein Range bildet kein Array sondern ist nur eine Verweis auf Teile einer Tabelle.

    Man kann aber, wenn der Range eine einfache Matrix ist, die Werte dieser Matrix direkt in eine Variable vom typ Variant einlesen. Dabei ist folgendes zu beachten:

    a) die Variable wird nicht als Array deklariert (ohne Klammern)
    b) die Matrix der Variablen ist immer zweidimensional (dh. Beim Ansprechen eines einzelnen Wertes müssen immer Zeile und Spalte angegeben werden, auch wenn die Matrix nur eine Spalte hat.)
    c) die erste Zeile/Spalte ist immer die 1

    Dein code könnte so aussehen:
    Code:
     
  3. Hallo!

    Danke für diesen Hinweis. Leider ist das für mich eher nicht zu gebrauchen, zum weiterarbeiten wäre es mir schon wichtig die Daten in einem Array zu haben.

    Kann man also eine Range in ein Array kopieren?

    LG
     
  4. VBA Funktion Range in Array umwandeln

    Hallo Martin,

    natürlich kann man die Matrixvariable auch in ein Array kopieren. Aber wofür das zusätzliche kopieren? Das nimmt doch nur zusätzliche Rechenzeit beim Einlesen und Wegschreiben in Anspruch. Ein Einlesen/Schreiben eines Bereiches in/aus eine/r Variantmatrix ist um ein vielfaches schneller als ein zellenweises Einlesen/Schreiben in/aus ein/m Array.
    Man kann die Matrix doch wie ein Array ansprechen ausser dass man bei einspaltigen Daten die Spalte 1 mit angeben muss.

    Aber hier dein kopieren:
    Code:
    Wenn du unbedingt ein Array willst sollte auch (ungetestet) das hier gehen:

    Code:
    Ich nehme an, dass bei sehr grossen Bereichen der Umweg über eine Variant-Matrix schnelkler ist.
    ps. Wofür das preserve, wenn du doch alle Werte überschreibst?
     
  5. Vielen Dank! *Smilie
     
  6. Hallo

    Noch eine Möglichkeit:

    Code:
    mfg, GraFri
     
    GraFri, 28. März 2017
    #6
Thema:

VBA Funktion Range in Array umwandeln

Die Seite wird geladen...
  1. VBA Funktion Range in Array umwandeln - Similar Threads - VBA Funktion Range

  2. 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...
  3. Hilfe bei VBA-Programmierung

    in Microsoft Excel Hilfe
    Hilfe bei VBA-Programmierung: Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten in einer Textdatei, die ich mir in Excel...
  4. Outlook VBA NewMail Funktion Problem

    in Microsoft Outlook Hilfe
    Outlook VBA NewMail Funktion Problem: Hallo zusammen, ich möchte aus eingehenden E-Mails Anlagen in einem vorgegebenen Order abspeichern. Ich habe mir dazu ein Makro aus dem Netzt gemopst - zugegebenermaßen- was genau das kann....
  5. Funktion soll Wert in Variable übergeben (VBA)

    in Microsoft Excel Hilfe
    Funktion soll Wert in Variable übergeben (VBA): Hallo Forum-Gurus, ich bräuchte kurz Eure Hilfe. Anscheinend bin ich auf den Kopf gefallen. Folgende Funktion habe ich programmiert und möchte das Ergebnis nun in einer andere Private Sub...
  6. E-Mail Funktion mail auslesen VBA Anfänger

    in Microsoft Excel Hilfe
    E-Mail Funktion mail auslesen VBA Anfänger: Hallo, ich habe über das Internet mir einen Code zusammengebastelt. Code: Sub EmailManuellAbsenden() Application.DisplayAlerts = False Dim objOutlook As Object Dim objMail As Object Dim olApp As...
  7. Funktion in Excel-VBA nutzen

    in Microsoft Excel Hilfe
    Funktion in Excel-VBA nutzen: Hallo, ich habe einige Zeit nichts mehr mit der VBA-Programmierung gemacht. Da scheint sich einiges geändert zu haben. Ich dachte mir, ein allgemeiner Funktionsaufruf funktioniert immer noch...
  8. Mehrere Zellen zusammen rechnen wenn

    in Microsoft Excel Hilfe
    Mehrere Zellen zusammen rechnen wenn: Moin, leider habe ich ein Problem mit Excel, ich habe versucht danach zusuchen aber leider hatte ich kein Erfolg. [ATTACH] Er soll gucken ob dort in B12 steht Abgang Europal. oder Zugang...
  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