VBA Excel - ReDim Preserve

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Uživatelský avatar
vonv
Level 1
Level 1
Příspěvky: 93
Registrován: leden 08
Pohlaví: Nespecifikováno
Stav:
Offline

VBA Excel - ReDim Preserve

Příspěvekod vonv » 22 bře 2011 21:11

Prosím o radu ohledně polí:
- mám dynamické "pole()"
- nevím, kolik řádků bude pole mít - řádek chci přidat až po splnění jistých podmínek
- představa je, že nakonec pole bude jako tabulka o rozměrech 1000 řádků a 12 sloupců [pole(1000,12)], a po pravdě budu pole taky vkládat jako tabulku do "dim oblast as range" tímto způsobem: set oblast.value = pole

Původní představa byla, že u pole budu měnit počet řádků a sloupce budou pořád stejné, tedy: pole(početřádků, 12). Jak jsem říkal, chci řádek přidat až po splnění jistých podmínek - jakmile se podmínka splní, rozšířím si rozměr řádků pole způsobem:

ReDim Preserve pole(ubound(pole,1)+1, 12).

Ale narazil jsem na problém "subscript out of range" a zjistil jsem, že při použití Preserve mohu měnit jen poslední rozměr pole - v tomto pojetí rozměr sloupců. Mimochodem, tohle pan Walkenbach zapomněl v jinak dobré knize uvést :-)

Poraďte mi, prosím, jak z toho ven, co je nejlepší řešení(?):
a) překopat všechny pole tak, že prohodím rozměry - to jde, ale už jsem toho hodně napsal a strávím nad tím spoustu času
b) před rozšířením pole pomocí Preserve pole přetransponovat (předpokládám, že to jde - napadlo mě to až teď při psaní tohoto dotazu)
c) uložit pole do listu, předimenzovat bez Preserve a pak zase načíst zpět
d) ... poraďte další způsob(y) nebo metody

Díky moc.
P.S. nejsem programátor, tak mě nesekýrujte, ale poraďte mi :-)
A na dotaz, proč jsem rovnou neuvažoval rozměry pole obráceně: pole(sloupce,řádky), tak je to proto, že jsem vycházel z označení oblastí, kdy se napřed taky uvádí řádky a pak sloupce - krom toho jsem chtěl pole vkládat jedním příkazem jak jsem naznačil.
diky všem za rady

Reklama
  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4788
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12199
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4636
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3319
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Tisk sloupců vedle sebe na A4 - Excel
    od atari » 24 dub 2025 10:51 » v Kancelářské balíky
    5
    3915
    od atari Zobrazit poslední příspěvek
    26 dub 2025 09:11

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti