excel vba value
Aky je rozdiel medzi zapismi
. . . .And (Len(Range("H" & i)) = 0)
. . . .And (Len(Range("H" & i).Value) = 0)
Pouzivat value alebo staci len odkaz na bunku?
pripadne pootazka, ako 100%tne zistit aj vzhladom na narodne prostredia, ci je bunka prazdna alebo je v nej text, teda datum, ci uz ako datum alebo ako text.
k druhej casti, nasiel som IsEmpty . . .
1) Value je defaultná vlastnosť objektu Range, čiže môže byť vynechaná
2) IsEmpty je funkcia VBA, v hárku sa pre test bunky, či je prázdna, používa funkcia ISBLANK (v českej verzii JE.PRÁZDNÉ). Pokiaľ súbor s takouto funkciou v hárku prenesieš na PC s inou jazykovou verziou Excelu, nič sa nedeje, funkcia sa automaticky skonvertuje do jazyka Excelu daného PC.
U oboch (IsEmpty aj ISBLANK) je však potrebné dať pozor, pokiaľ testovaná bunka obsahuje vzorec, ktorý vracia prázdnu hodnotu. V oboch prípadoch je výsledkom funkcie výraz "FALSE", pretože bunka len vyzerá byť prázdnou ale v skutočnosti obsahuje vzorec, ktorého výsledkom je prázdna bunka t.j. obsahuje "".
Pokiaľ chceš, aby v takomto prípade bol výsledok "TRUE", t.j. i v prípade, že bunka vyzerá byť prázdna, ale v skutočnosti obsahuje vzorec, ktorého výsledkom je prázdna množina (""), použi test na prázdnu množinu napr: Range("A1")=""
Diky, vyskusam, je to v makre, a bunka bude bud prazdna alebo tam bude datum vo formate, ako sa to naimportuje z csv suboru (tam je standardny zapis napr. 01.01.2023), nieje predpoklad zeby tam bolo nieco ine (prazdne alebo datum), je to export z ineho systemu