Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA - Efektywne łączenie danych z tablicy w jedną zmienną/plik

spam28 28 Lut 2014 00:03 1170 2
  • #1 28 Lut 2014 00:03
    spam28
    Poziom 10  

    Mam w tablicy dwuwymiarowej zapisanych kilkanaście tysięcy liczb.
    Generuję plik txt, w którym zapisuje wszystkie liczby oddzielone przecinkami i w nawiasach.

    Jaki będzie najszybszy sposób wygenerowania ciągu znaków z kolejnych liczb z tablicy z tymi dodatkowymi znakami (przecinki i nawiasy)?

    Robię to w pętli For ... Next
    Dodawanie liczb z tablicy kolejno do jakiejś zmiennej trwa kilka sekund.

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Całkiem nieźle jest przy zastosowaniu .write, ale mam wrażenie, że to wciąż nie jest najbardziej wydajny sposób. Poza tym wówczas zapisuje mi to się od razu do pliku, a nie do zmiennej, którą mogę później umieścić w dowolnym miejscu generowanego pliku.
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0 2
  • Pomocny post
    #2 28 Lut 2014 13:29
    Maciej Gonet
    Poziom 32  

    Dzień dobry,
    Można spróbować z funkcją Join, pod warunkiem, że dane w tablicy zostaną przekształcone w teksty. U mnie wariant pierwszy testu trwał ok. 5 sekund, wariant drugi ok. 0,5 sekundy.
    Pozdrowienia

    0
  • #3 01 Mar 2014 00:36
    spam28
    Poziom 10  

    Wariant drugi jest taki szybki, bo generuje tylko 150 liczb. Po zwiększeniu ich ilości niestety jest jeszcze wolniejszy od pierwszego.

    EDIT:
    Ok, już doszedłem do tego, co jest nie tak. Wariant 2 był niepotrzebnie w pętli i 50 000 razy wykonywał to samo łączenie. Po usunięciu pętli robi to momentalnie, nawet przy kilkudziesięciu tysiącach liczb.

    Dziękuję bardzo za pomoc.

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0