< návrat zpět

MS Excel


Téma: vzorec v makru rss

Zaslal/a 3.7.2019 13:47

Ahoj, chtěla jsem si usnadnit práci a vložla jsem vzorec při vytváření makra. Je ale asi moc dlouhý, prostě jako klasický vzorez mi funguje ale při spuštění vzorce hlásí chybu. Nevíte jak tedy převedu vzorec pro Visual?

=KDYŽ(A2<>A1;"";KDYŽ(D1=D2;"";KDYŽ(NEBO(D2="VARIO profil Voice";D2="VARIO profil 1";D2="VARIO profil 2+";D2="VARIO pofil 3";D2="VARIO profil 3+";D2="VARIO pofil 4";D2="VARIO pofil 4+";D2="VARIO pofil 5";D2="Mobilní internet BUSINESS M";D2="Mobilní internet BUSINESS L";D2="Mobilní inUSINESS XL";D2="Mobilní internet BUSINESS XXL");KDYŽ(A(D1<>D2;D1<>"Obnovení objemu dat";D1<>"Aktivace služby";D1<>"Jednorázové navýšení objemu dat";D1<>"Obnovení objemu dat 1,5GB";D1<>"poplatek za odpojení na vlastní žádost";D1<>"Svět opakovaný L";D1<>"Top Svět");"změna tarifu";"");D2)))

Zaslat odpověď >

#043666
Stalker
Zapnul jsem si záznam makra a vložil Tvůj vzorec, tohle je výsledek
Sub Makro1()
'
' Makro1 Makro
'

'
Range("K2").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-10]<>R[-1]C[-10],"""",IF(R[-1]C[-7]=RC[-7],"""",IF(OR(RC[-7]=""VARIO profil Voice"",RC[-7]=""VARIO profil 1"",RC[-7]=""VARIO profil 2+"",RC[-7]=""VARIO pofil 3"",RC[-7]=""VARIO profil 3+"",RC[-7]=""VARIO pofil 4"",RC[-7]=""VARIO pofil 4+"",RC[-7]=""VARIO pofil 5"",RC[-7]=""Mobilní internet BUSINESS M"",RC[-7]=""Mobilní internet BUSINESS L"",RC[-7]=""Mobilní " & _
"inUSINESS XL"",RC[-7]=""Mobilní internet BUSINESS XXL""),IF(AND(R[-1]C[-7]<>RC[-7],R[-1]C[-7]<>""Obnovení objemu dat"",R[-1]C[-7]<>""Aktivace služby"",R[-1]C[-7]<>""Jednorázové navýšení objemu dat"",R[-1]C[-7]<>""Obnovení objemu dat 1,5GB"",R[-1]C[-7]<>""poplatek za odpojení na vlastní žádost"",R[-1]C[-7]<>""Svět opakovaný L"",R[-1]C[-7]<>""Top Svět""),""změna tarif" & _
"u"",""""),RC[-7])))" & _
""
Range("K2").Select
End Sub
citovat
#043667
avatar
Toto jsem také udělala a vzorec mi po spuštění makra nefunguje:(

navác jsem jej právě opravila.

=KDYŽ(NEBO(D2="Obnovení objemu dat";D2="Aktivace služby";D2="Jednorázové navýšení objemu dat";D2="Obnovení objemu dat 1,5GB";D2="poplatek za odpojení na vlastní žádost";D2="Svět opakovaný L";D2="Top Svět");D2;KDYŽ(A2<>A1;"";KDYŽ(D1=D2;"";KDYŽ(NEBO(D2="VARIO profil Voice";D2="VARIO profil 1";D2="VARIO profil 2+";D2="VARIO pofil 3";D2="VARIO profil 3+";D2="VARIO pofil 4";D2="VARIO pofil 4+";D2="VARIO pofil 5";D2="Mobilní internet BUSINESS M";D2="Mobilní internet BUSINESS L";D2="Mobilní internet BUSINESS XL";D2="Mobilní internet BUSINESS XXL");KDYŽ(A(D1<>D2;D1<>"Obnovení objemu dat";D1<>"Aktivace služby";D1<>"Jednorázové navýšení objemu dat";D1<>"Obnovení objemu dat 1,5GB";D1<>"poplatek za odpojení na vlastní žádost";D1<>"Svět opakovaný L";D1<>"Top Svět");"změna tarifu";"")))))citovat
#043668
avatar
Už při zapisování makra mi vyjede jako červená část kódu a je vidět, že je osekaný.citovat
#043670
avatar
Při zapisování nebo zkopírování?

Při kopírování se vkládá mezi řádky prázdný řádek - nutno vymazat.

/Ve verzi 2007 mi chyby nehlásí ani klasický vzorec - původní ani nový /citovat
#043674
avatar
Pokud to má usnadnit práci, bylo by vhodné vzorec od základu předělat.

např.:
=IFNA(SVYHLEDAT(D2;$J$2:$J$8;1;0);
KDYŽ(NEBO(A2<>A1; D1=D2);"";
KDYŽ(
A(JE.ČISLO(POZVYHLEDAT(D2;$K$2:$K$13;0));
JE.NEDEF(POZVYHLEDAT(D1;$J$2:$J$8;0)));
"změna tarifu";
"")
))

kde $J$2:$J$8:
Obnovení objemu dat
Aktivace služby
Jednorázové navýšení objemu dat
Obnovení objemu dat 1,5GB
poplatek za odpojení na vlastní žádost
Svět opakovaný L
Top Svět

a $K$2:$K$13 je ten druhý seznam.

oprava by pak spočívala v doplnění některého seznamu.citovat
#043685
avatar
LUBO, děkuji vzorec funguje skvěle! Moc děkuji za zjednodušení vzorce.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje