Stránka 1 z 1
Excel VBA - type mismatch
Napsal: 07 zář 2011 22:49
od dern
Zdravím,
mohl by mi někdo vysvětlil chybu v tomto jednoduchém kodu?
Kód: Vybrat vše
Sub test2()
Dim g As Variant
g(1, 1) = 5
Range("A100") = g
End Sub
Díky
Dern
Re: Excel VBA - type mismatch
Napsal: 08 zář 2011 09:19
od Poki
Zdravim,
mozna jsem pomalejsi, ale co zamyslite zapisem g(1, 1)?
Re: Excel VBA - type mismatch
Napsal: 08 zář 2011 11:05
od Branscombe
Také jsem nepochopil zápis "g(1, 1)", tak jsem raději ani nekomentoval ...

Re: Excel VBA - type mismatch
Napsal: 08 zář 2011 14:01
od dern
Zdravím,
včera večer jsem měl zatměno. Dotaz jsem se snažil co nejvíce zestručnit. A díky tomu jsem na to nakonec po odelsání během minutky přišel.
Myšlenka je taková, že mám definovanou proměnnou "g" o které vím, že tam bude jednorozměrné pole, ale v danou chvíli netuším jaké a co uvnitř bude.
Zápisem g(1,1) = 5 jsem se snažil stručně zjednodušit myšlenku
např.
g(1,1) = proměnná1
g(1,2) = proměnná2
g(1,3) = proměnná3
atd.
...
a nakonec
record = g
přičemž od začátku je record předem definovaná oblast kam se budou hodnoty ukládat
např.
dim record as range
set record = rows(x)
Chyba je, že nejdřív než do g(1,1) budu cokoliv zadávat tak musím definovat že g bude jednorozměrné pole.
Celé je to pak součástí malé "databáze dat" kterou se snažím vytvořit. A do které budu vkládat data pomocí formuláře.
Zatím díky (dotazů bude asi ještě hodně jak se tím prokousávám :-))
Např. řešení desetinných čísel...
Re: Excel VBA - type mismatch
Napsal: 08 zář 2011 15:52
od guest
No hezky jste to semlel dohromady.. takže..
Dynamické pole:
Dim aPole
Dim aPole()
Při překlápění pole do buněk na listu nadefinujte levou horní buňku a s pomocí metody Resize oblast rozšiřte doprava a dolů (meze LBound a UBound aplikované na poli)