Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.07
Prihlásený: 15.09.09
Príspevky: 5
Témy: 2
Príspevok NapísalOffline : 14.12.2007 14:56

Dobry den, mate neiekto skusenosti ako použiť úvodzovky v premennej ? Ide o to ze si v makre vytvaram vzorec na vypočet sumy s podmienkou:
=SUMIF($F$2:$AZ$2;"TOTAL";F7:AZ7) ... napr., ja použijem kod:
Cells(riadok, 5).Formula = "=SUMIF($F$2:$AZ$2;" & ""TOTAL"" & ";F" & riadok & ":AZ" & riadok & ")" ... samozrejme mi to nefunguje.
Viete mi niekto poradit ?
Dakujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9
Príspevok NapísalOffline : 14.12.2007 15:17

Kód:
Cells(riadok, 5).Formula = "=SUMIF($F$2:$AZ$2;" & "'TOTAL'" & ";F" & riadok & ":AZ" & riadok & ")"

apostrofy v úvodzovkách.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.07
Prihlásený: 15.09.09
Príspevky: 5
Témy: 2
Príspevok Napísal autor témyOffline : 14.12.2007 15:34

Run-time Error "1004"
Application-defined or object defined error
:cry:


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9
Príspevok NapísalOffline : 14.12.2007 21:44

no zvláštne.. ti apostrofy tam nerobia chybu, dokonca si tam môžeš dať aj úvodzovky ak chceš takto:
Kód:
Cells(riadok, 5).Formula = "=SUMIF($A$1:$C$2;" & Chr(34) & "TOTAL" & Chr(34) & ";A7:C8)"

problém tam ale robí to rovnása a za boha neviem zistiť prečo. Ak ho zmažeš, ten reťazec sa ti vypíše pekne aj s úvodzovkami. Ak ho tam zase dáš, už to nejde. Iné funkcie mi idú vypísať v pohode, napríklad
Kód:
[C6].Formula = "=BIN2DEC(111)"


takže chyba bude niekde skrytá. Ten vzorec máš dobre, skúšal som ho. Preto neviem pochopiť prečo to tam to rovnása nechce zobrať.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.09.09
Prihlásený: 15.09.09
Príspevky: 7
Témy: 0
Príspevok NapísalOffline : 15.09.2009 12:29

Zdravím.

Vyriešili ste to už niekto prosím Vás ? Veľmi ma to zaujíma, pretože momentálne som na tom vkladaní vzorca s úvodzovkami stroskotaný už pár dní. Je to presne tak, ak tam "=" nieje - text OK, ak tam "=" je - Application-defined or object-defined error
a je úplne jedno či to priraďujete do Cells(), Range(), ako Value či ako Formula...

Zaujímavé ale je, že keď dám napr. niečo takéto jednoduché, tak to funguje.
Kód:
Sheets("Zostava").Range("B1").Formula = "=SIN(0.5)&""B"""

ale ak dám niečo s podmienkou IF, tak už to nefunguje:
Kód:
Sheets("Zostava").Range("A1").Formula = "=IF(NazSK=""A"";""B"";Cislo)"

Niečo s tou podmienkou IF bude v neporiadku, keďže mi nepracuje korektne ani v definovaných názvoch, ani v podmienenom formátovaní.
Ešte podotknem, že mám Office 2003 Pro SK + SP1 + SP2, Vista x64 CZ Ult.

Ďakujem za prípadnú pomoc.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.07
Prihlásený: 15.09.09
Príspevky: 5
Témy: 2
Príspevok Napísal autor témyOffline : 15.09.2009 13:14

... podla mna je to nejaka chyba Excelu, niektore vzorce idu, niektore nie ... ja to momentalne riesim tak ze si v jednom liste vytvorim bo buniek vzorce ktore potrebujem (alebo tie co mi generuju chybu ked ich vytvaram v kode) a jednoducho si bunku v kode s danym vzorcom skopirujem a prilepim na miesto kde ju potrebujem ... takto mi funguju vsetky vzorce ;) ... nie je to naidealnejsie riesenie pre "programatora" ... ale na veci ktore vytvaram mi to v pohode staci ...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.09.09
Prihlásený: 15.09.09
Príspevky: 7
Témy: 0
Príspevok NapísalOffline : 15.09.2009 14:15

No tak to je veľký prúser, pretože ja mám zdrojovú tabuľku s asi 400 riadkami, a vytváram automatizovanú zostavu, pri ktorej nebudem vedieť koľko bude riadkov zdroja, pričom každý záznam zastupuje v zostave 3 riadky, v každom 6 stĺpcov, a každá buňka obsahuje iný vzorec. Mení sa to podľa obsahu zdrojových dát. Nieje to možné urobiť nijako inak ako cez nazvyme to "distribuované" vzorce vo VBA, čiže vzorec pre každú buňku treba najskôr vypočítať a zložiť, potom vložiť, a nechať Excel vypočítať. Dohromady asi 7200 vrozcov + formátovanie buniek. Mám tie výpočty urobené pokusne aj celé vo VBA, ale je to 10x pomalšie ako keď použijem Excelácke funkcie.

Pokúsim sa urobiť nejaký univerzálny vzorec, ktorý by bol nachystaný na pomocnom hárku, ako vravíš Ty, len neviem či si s tou rýchlosťou kopírovania do toľkých buniek pomôžem.

EDIT: Nefunguje ani ďalšie riešenie pomocou Evaluate:
Kód:
p = "CONCATENATE(NazSK=""A"";""B"";Cislo)"
Sheets("Zostava").Range("A1") = Evaluate(p)

vráti do bunky hodnotu "#HODNOTA", navyše by to bol jednorázový výpočet, nereagovalo by to na zmenu dát (čo by sa dalo ošetriť cez akciu Change)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.09.09
Prihlásený: 15.09.09
Príspevky: 7
Témy: 0
Príspevok NapísalOffline : 18.09.2009 0:35

Ďakujem za nakopnutie správnym smerom. To riešenie so zhotovením vzorca manuálne, v pomocnom hárku, a potom vzorec kopírovať vo VBA na potrebné miesta, sa ukázalo ako veľmi efektívne, jednoduché, a hlavne rýchle, pretože môžem kopírovať vzorce nie po jednom ale naraz po 400ks/s. Síce to teraz nereaguje na zmenu automaticky, ale zase manuálny režim vytvárania zostavy som stiahol na 11 sekúnd, čo je super. Vo VBA to bolo 3 min.
...Dík...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.06.10
Prihlásený: 23.06.16
Príspevky: 1
Témy: 0
Príspevok NapísalOffline : 01.06.2010 16:26

zápis funkcie vo VBA s podmienkou IF
napr.: =IF(A1=1;"OK")
dá sa vo VBA zapísať takto: ActiveCell.FormulaR1C1 = "=IF(RC[-1]=1,""OK"")"

alebo:
=IF(A1=1;"OK";IF(A1>1;"ZLE"))
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=1,""OK"",IF(RC[-1]>1,""ZLE""))"


Odpovedať na tému [ Príspevkov: 9 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Excel VBA

v Ostatné programy

2

435

22.11.2015 11:49

dano1805 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. excel makra vba

v Delphi, Visual Basic

1

1116

04.06.2011 9:43

Forty- Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Excel - VBA - ako riesit cyklus?

v Ostatné

3

708

17.05.2018 16:11

Winnetou Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VBA Excel] Blokovanie spustenia podprogramu

v Delphi, Visual Basic

0

1023

26.04.2008 22:52

Jezoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Použitie premennej z jedného eventu v inom evente

v Technológia .NET

1

518

09.10.2012 13:53

ThePlaky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. VBA Solver v exceli

v Ostatné

0

320

06.11.2014 2:16

lucka.x Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. VBA Code pre otvorenie Word súboru inak

v Delphi, Visual Basic

0

833

09.03.2015 14:46

robeno67 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. existencia premennej

v PHP, ASP

3

552

25.08.2008 12:45

toma-mato Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. predanie premennej

v JavaScript, VBScript, Ajax

4

1797

15.10.2009 12:20

pilná lama glama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odovzdavanie premennej

v PHP, ASP

11

801

05.10.2009 9:45

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zmena $premennej

v PHP, ASP

9

666

03.02.2010 14:55

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dlzka premennej

v JavaScript, VBScript, Ajax

7

614

10.06.2009 19:37

roach189 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vytvorenie premennej...

v PHP, ASP

6

573

24.09.2008 22:43

vl4kn0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nazov premennej

v JavaScript, VBScript, Ajax

6

520

07.01.2010 23:28

roach189 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. deklaracia premennej

v PHP, ASP

7

1015

19.08.2009 12:14

Snacker Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] volanie premennej

v PHP, ASP

2

454

13.02.2009 13:50

beginner Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra