VBA - funkce se strednikem Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

simPod
Level 4
Level 4
Příspěvky: 1295
Registrován: červen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

VBA - funkce se strednikem

Příspěvekod simPod » 31 říj 2010 16:33

zdravim

potrebuju ve VBA udelat neco jako

Kód: Vybrat vše

 range("A1").Value = "=concatenate(" + Chr(34) + "test" + Chr(34) + ";" + Chr(34) + "test2" + Chr(34) + ")"


kdyz si vyhodim MsgBox, tak je tam =concatenate("test";"test") takze ten string mam asi dobre, ale hazi mi to runtime error 1004 (Application-defined or object-defined error) pri vkladani do bunky


"=concatenate(" + Chr(34) + "test" + Chr(34) + ";" + Chr(34) + "test2" + Chr(34) + ")" - error 1004
"=concatenate(" + Chr(34) + "test" + Chr(34) + ")" - bez problemu

proc to nema rado ten strednik?
dik

btw: nechci "test"+";"+"test2" bez concatenate, vim ze to tak funguje

Reklama
Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: VBA - funkce se strednikem

Příspěvekod X » 31 říj 2010 17:18

Pokud se nepletu zkus místo středníku &

simPod
Level 4
Level 4
Příspěvky: 1295
Registrován: červen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: VBA - funkce se strednikem

Příspěvekod simPod » 31 říj 2010 20:25

to jakoby funguje, dik
ale udela to tohle =CONCATENATE("test"&"test2")
coz je sice funkci, ale "test"&"test2" se porad rovna [text1]
ja potrebuji nejak dostat strednik, aby "test2" mohl byt [text2]

ja zkousel strednik nahradit it Chr(59), ale nefunguje

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: VBA - funkce se strednikem

Příspěvekod X » 31 říj 2010 21:20

Mrkni do nápovědy, tam čerpám vždy já + pokusy.

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA - funkce se strednikem

Příspěvekod navstevnik » 31 říj 2010 21:46

Pokud jsem porozumel, tak radek kodu bude takovyto:

Kód: Vybrat vše

ActiveSheet.Range("a1").Formula = "=CONCATENATE(""test1"",""test2"")"

1. nutno pouzit vlastnost Formula
2. Ve VBA je nutno ve vkladanem vzorci pouzit tvar odpovidajici anglicke lokalizaci Excelu, tedy anglicke nazvy funkci - v pripade lokalizovanych nazvu funkci, napr.: SVYHLEDAT, to musi byt anglicky nazev funkce VLOOKUP a oddelovace jsou "," (carka), desetinny oddelovac je "." (tecka).

simPod
Level 4
Level 4
Příspěvky: 1295
Registrován: červen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: VBA - funkce se strednikem

Příspěvekod simPod » 01 lis 2010 00:23

super, to funguje, dik
jeste dotaz, co kdyz chci misto "test1" pouzit promennou test1?
zkousel jsem

Kód: Vybrat vše

ActiveSheet.Range("a1").Formula = "=CONCATENATE("test1",""test2"")"


a prej mam spatne syntax

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA - funkce se strednikem  Vyřešeno

Příspěvekod navstevnik » 01 lis 2010 08:18

Uvedom si, co uvedeny radek kodu vykonava - pouze vlozi do bunky vzorec, ktery je nasledne interpretovan Excelem, nikoliv VBA. A ten vzorec musi splnovat syntaxi vzorce v bunce - ve vzorci musi byt hodnoty nebo vzorec musi odkazovat na bunku, matici,... nebo (a to je resenim) na pojmenovanou oblast; dost tezko tedy vzorec v bunce bude akceptovat promennou z VBA.

Vloz do listu pojmenovanou oblast test1 , odkaz na: ="test1" a potom radek kodu ve VBA bude:

Kód: Vybrat vše

ActiveSheet.Range("a1").Formula = "=CONCATENATE(test1,""test2"")"

a v bunce vysledek: test1test2

simPod
Level 4
Level 4
Příspěvky: 1295
Registrován: červen 06
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: VBA - funkce se strednikem

Příspěvekod simPod » 01 lis 2010 22:28

aha, super, dik!


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • ErP - ,,nebezpečná" funkce? Příloha(y)
    od DifiCZ » 05 lis 2023 12:26 » v Vše ostatní (sw)
    11
    2630
    od WolfGunCZ Zobrazit poslední příspěvek
    09 lis 2023 13:16
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2859
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů