< návrat zpět

MS Excel


Téma: do vzorce se vloží zavináč rss

Zaslal/a 15.4.2021 15:10

Dobrý den,
vkládám makrem do buňky vzorce.
Range("V6").FormulaLocal = "=SUMIFS(Zdroj!$H:$H;Zdroj!$A:$A;A6;Zdroj!$B:$B;B6;Zdroj!$C:$C;$C6;Zdroj!$F:$F;V$2;Zdroj!$G:$G;V$4)"
Tento první proběhne vždy v pořádku.
Ale tento:
Range("U6").FormulaLocal = "=KDYŽ(O6>0;O6;SUMA(P6:T6))"

u mě v počítači v pořádku. U kolegy se ale vloží takto =@KDYŽ(O6>0;O6;SUMA(P6:T6)) a tudíž kvůli tomu zavináči nefunguje. Je to nějakým nastavením excelu? Nemáte někdo tušení, proč se tam ten zavináč vloží?
Děkuji

Zaslat odpověď >

Strana:  « předchozí  1 2 3 4   další »
#050461
kabaka

JoKe napsal/a:

.Formula = ...pro vložení anglické verze
.FormulaLocal = ... pro vložení verze lokální (CZ, SK, ...)


Vďaka za vysvetlenie.citovat
#050463
avatar
I já děkujucitovat
#057218
avatar
Dobrý den, mám ten samý problém, ale s jinou funkcí a nevím, jak to mám udělat. V řádku 6 mám tuhle funkci: =TEXTJOIN("; ";PRAVDA;KDYŽ(N6:AS6>0;N2:AS2;"")) a po spuštění makra, kdy přidám 1 řádek (tzn. ř. 7), se vzorec upraví tak, že tam vloží znak "@". =TEXTJOIN("; ";PRAVDA;KDYŽ(@N7:AS7>0;N2:AS2;"")) a vzorec tím pádem nefunguje.citovat
#057219
avatar
zkus:

Sub ins()
Range("a2").FormulaLocal = "=TEXTJOIN(""; "";PRAVDA;KDYŽ(N6:AS6>0;N2:AS2;""""))"
Range("b2").Formula2Local = "=TEXTJOIN(""; "";PRAVDA;KDYŽ(N6:AS6>0;N2:AS2;""""))"
End Sub
citovat
#057220
elninoslov
To je kvôli novému spôsobu vyhodnocovania polí (matíc). Budete to musieť asi vkladať v EN verzii a do Formula2
Worksheets("Hárok1").Range("L6").Formula2 = "=TEXTJOIN(""; "",TRUE,IF(N6:AS6>0,N2:AS2,""""))"
EDIT: Kolega ma predbehol. Ja preferujem vždy EN vzorce.citovat
#057221
avatar
Nejsem vůbec profík, takže spíš musím teď něco vytvořit na rychlo a tak nějak to patlám. Tak možná jen upřesním, že funkci TEXTJOIN nemám jako součást makra, ale volně vloženou jako vzorec v buňce a makro vypadá takto, protože potřebuji na tlačítko přidat nový řádek a to musí převzít funkce z předchozího řádku...tak pokud byste mi mohli poradit, jak to tam doplnit, případně jestli dát pryč kód na vymazání @ a závorek, která stejně nefunguje..díky:
Sub PridatRadek_H()
Dim ws As Worksheet
Dim posledniRadek As Long
Dim novyRadek As Long
Dim posledniSloupec As Long
Dim i As Long
Dim vzorec As String

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False

Set ws = ThisWorkbook.Sheets("List2")


posledniRadek = ws.Cells(ws.Rows.Count, "H").End(xlUp).row


novyRadek = posledniRadek + 1
ws.Rows(novyRadek).Insert Shift:=xlDown


ws.Rows(novyRadek - 1).Copy
ws.Rows(novyRadek).PasteSpecial Paste:=xlPasteFormats


posledniSloupec = ws.Cells(novyRadek - 1, ws.Columns.Count).End(xlToLeft).Column ' poslední sloupec v předchozím řádku
For i = 1 To posledniSloupec
If ws.Cells(novyRadek - 1, i).HasFormula Then
vzorec = ws.Cells(novyRadek - 1, i).Formula

vzorec = Replace(vzorec, novyRadek - 1, novyRadek)


vzorec = Replace(vzorec, "@", "") ' Odstraní "@" znak

vzorec = Replace(vzorec, "[", "") ' Odstraní závorky z tabulkových odkazů
vzorec = Replace(vzorec, "]", "") ' Odstraní závorky z tabulkových odkazů


ws.Cells(novyRadek, i).Formula = vzorec
End If
Next i


Application.CutCopyMode = False


Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Subcitovat
#057222
avatar
třeba:

For i = 1 To posledniSloupec
If ws.Cells(novyRadek - 1, i).HasFormula Then
ws.Cells(novyRadek, i).Formula2 = ws.Cells(novyRadek - 1, i).Formula2
End If
Next i


nebo

For i = 1 To posledniSloupec
If ws.Cells(novyRadek - 1, i).HasFormula Then
ws.Cells(novyRadek, i).Formula2R1C1 = ws.Cells(novyRadek - 1, i).Formula2R1C1
End If
Next i


Podle toho co to má dělat.citovat
#057223
avatar
Tohle mi bohužel nefunguje...makro tam přidá samo od sebe opět "@" do funkcecitovat
#057224
elninoslov
A zadávate určite Formula2 ?
Nemôžete tabuľku naformátovať ako Tabuľku (objekt) ? Potom sa Vám vzorce doplnia samé.
Ak priložíte nejakú anonymizovanú prílohu, skôr sa dočkáte riešenia.citovat
#057225
avatar
Přikládám soubor, který jsem pro teď promazala. Makro je vloženo v Modulu 11, zasílám v příloze. Funkce Textjoin je vložena ve sloupci L - POZICE NA STAVBĚ. Předem díky za jakoukoliv pomoc :)

Po vložení příspěvku nevidím přiložený soubor, tak posílám i odkaz na úschovnu: https://www.uschovna.cz/zasilka/RGNTMW8A8XS8SEHN-6FK/citovat

Strana:  « předchozí  1 2 3 4   další »

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