< návrat zpět

MS Excel


Téma: Vkládání matice do excelu rss

Zaslal/a 27.5.2021 22:10

Dobrý den,

s VBA si hraji teprve několik měsíců a jsem tak naprostý začáteční. Aktuálně jsem došel k využití matic. Mám rozsáhlou databázi (500 000 řádků), ze které pomocí VBA přepočítávám jinou rozsáhlou databázi (cca 250 000 delších řádků).
Každý výsledný řádek mám spočítán jako jednu matici a tu chci vložit do buněk v excelu.
Tohle jde:
Range("E4:R4").Value = VyslCetnost1
a tohle ne:
Range(Cells(RadekVysledek1, 5), Cells(RadekVysledek1, 18)).Value = VyslCetnost1
Jde ale o stejný zápis (VyslCetnosti1 je právě ta naplněná matice). Jak VBA donutit pracovat tím druhým způsobem, protože potřebuji, aby mi smyčka, ve které to běhá, vložila každou vypočítanou matici na další řádek, tj. aby se to měnilo.
Moc děkuji za radu, Martin

Zaslat odpověď >

#050750
elninoslov
Skúste
Range("E1:R1").Offset(RadekVysledek1 - 1, 0).Value = VyslCetnost1
alebo upravte premennú "RadekVysledek1", aby mala hodnotu nie riadku, ale posunu. Teda o koľko musím E1:R1 posunúť dole.
Ale 250K riadkov, to sa načakáte.
To by bolo lepšie urobiť 2 rozmernú maticu (ak viete počet riadkov), alebo (ak neviete dopredu počet) najskôr dočasnú kolekciu či dočasné pole matíc, a na konci ich v cykle spojiť do už známej veľkosti. Zapísať naraz, alebo aspoň vo veľkých blokoch. To sa ale najlepšie rieši s prílohou.citovat
#050761
avatar
Beru zpět. Měl jsem překlep v definování výchozí hodnoty proměnné a ono se to tak pokoušelo zapisovat na nultý řádek...
Pěkný dencitovat
#050767
elninoslov
Koľko Vám také makro trvá, ak idete po jednej bunke/riadku pri 500K Read a 250k Write?citovat
#050772
avatar
Dobrý den,

275000 řádků, výpočet necelá hodina. To mi nevadí, je to jednorázová záležitost. Hlavně, že se to spočítalo.
pěkný dencitovat
#050776
elninoslov
Ak je to tak ako si predstavujem, tak to sa musí dať skrátiť, a to podstatne. Ak chcete pošlite vzorku dát, bez citlivých údajov. Aj s makrom. Keď bude čas pozriem.citovat
#050816
avatar
Díky, ale to nejde. Data jsou velmi citlivá, i jejich struktura je citlivá. Pěkný dencitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje