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 a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6885
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    726
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43
  • Excel - vlastní formát Příloha(y)
    od Story-Long » 11 srp 2023 14:50 » v Kancelářské balíky
    3
    2314
    od Story-Long Zobrazit poslední příspěvek
    14 srp 2023 10:11
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2853
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44
  • Excel - problém se vzorci
    od honzzicek » 28 čer 2023 21:45 » v Kancelářské balíky
    2
    2043
    od honzzicek Zobrazit poslední příspěvek
    01 črc 2023 08:57

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