http://elcha-en.blogspot.com/2014/12/array-formula-cse-in-vba-code.html
Pokud byste si přidal do KT sloupec Dny, asi byste hned pochopil
=(Kč-'Sleva 10 %')*1%*Dny/365si překládá jako SUMA(Dny)=(Kč-'Sleva 10 %')*1%*19236/36519236/916=21 - přesně tolikrát tam máte položku 916. Takže i výsledek v sloupci chyba je 21×větší.
Touto cestou to asi nepude, vždy to zatím řeším pomocným sloupcem ve zdroji. Pokud byste našel řešení, sem s ním ;)
Máte pravdu ;) With Range("C2:E5")
.FormulaR1C1 = "=VALUE(MID(SUBSTITUTE(RC2,"", "","" ""),FIND(LOWER(R1C),LOWER(SUBSTITUTE(RC2,"", "","" "")))+LEN(R1C)+1,IFERROR(FIND("" "",MID(SUBSTITUTE(RC2,"", "","" ""),FIND(LOWER(R1C),LOWER(SUBSTITUTE(RC2,"", "","" "")))+LEN(R1C)+1,1000)),1000)))"
.Value = .Value
End With 'Range("C2:E5")
=HODNOTA(ČÁST(DOSADIT($B4;", ";" ");NAJÍT(MALÁ(C$1);MALÁ(DOSADIT($B4;", ";" ")))+DÉLKA(C$1)+1;IFERROR(NAJÍT(" ";ČÁST(DOSADIT($B4;", ";" ");NAJÍT(MALÁ(C$1);MALÁ(DOSADIT($B4;", ";" ")))+DÉLKA(C$1)+1;1000));1000)))=VALUE(MID(SUBSTITUTE($B4,", "," "),FIND(LOWER(C$1),LOWER(SUBSTITUTE($B4,", "," ")))+LEN(C$1)+1,IFERROR(FIND(" ",MID(SUBSTITUTE($B4,", "," "),FIND(LOWER(C$1),LOWER(SUBSTITUTE($B4,", "," ")))+LEN(C$1)+1,1000)),1000)))
Začínám mít pocit, že by se mělo zakázat vkládat tady obrázky...
Mno - ještě jednou si tipnu - pruhovaná čára už nejde potáhnout dolů prostě proto, že by se nevešla na stránku - nahoru to jde, ale dolů ne - holt musíte zmenšit výšku řádků nebo posunout předcházející konec stránky dolů nebo zmenšit okraje na stránce nebo je problém někde úplně jinde a já nevím kde protože to z obrázku nevyčtu...
datum chápu, ale jak byste si představoval rozdělit čas a číslo
04/08/2012 18:15:05,9.891114285714284
05/08/2012 18:15:05,10.219385714285712
05/04/2015 18:15:05,249.77571428571426
jak má vypadat výsledek např u těchto řádků?
nepíšu ručně, ale vizuálně - to je poněkud rozdíl
totéž co ve vedlejším vlákně - bez přílohy můžu pouze hádat
vložte zdroj
Nevím co tam máte a co tam vyvádíte, bez přílohy těžko radit. Nastavte Měřítko - Upravit na 100% a pak ručně vkládejte konce stránek tam kde potřebujete a myší upravujte nastavení.
pokud je zdrojový soubor textový:
- otevřete v textovém editoru a nahraďte tečku za čárku
nebo
- použijte správně import - nastavte jako oddělovač desetinných míst "." (ve 3. kroku)
pokud ne - nejbezpečnější je uložit jako textový soubor a viz výše.
Pokud byste chtěl nahrazovat až v excelu, riskujete chyby (např 12.5 se naimportuje jak 42136)
Pokud je čísel pár, můžete vizuálně zkontrolovat a nahrazení prostě provést v excelu
Pravým tlačítkem na pole - Nastavení pole... - Rozložení a tisk - Vložit za každou položku konec stránky
Ve sloupci "A" někdy data jsou někdy nejsou.
Tohle je Váš problém
Jak píše lubo výše - převeďte zdroj na Tabulku a budete mít pokoj.
Někdy se v buňce místo výsledku výpočtu vzzorce zobrazuje vzorec
Nejdříve zkontrolujte formát buňky - zřejmě ho máte nastavený na Text. Převeďte na obecný nebo jaký potřebujete, stiskněte F2 a pak Enter. Pokud se ale vzorec odkazuje na buňku naformátovanou jako Text, znovu se tato buňka přeformátuje na Text
Mno - vyzkoušejte následující postup
V souboru Test_medzera.xlsx vložte tam, kde chcete mít pevné mezery podtržítko (nahraďte současné pevné mezery podtržítkem).
Otevřete soubor Test_medzera.docx, stiskněte kombinaci Alt+F11 a v projectu TestMedzera 2x klikněte na ThisDocument. Vložte kódOption Explicit
Dim WithEvents wdApp As Word.Application
Private Sub Document_Open()
Set wdApp = Me.Parent
End Sub
Private Sub Document_Close()
Set wdApp = Nothing
End Sub
Private Sub wdApp_WindowSelectionChange(ByVal Sel As Selection)
Debug.Print wdApp.Name
Dim f As Field
For Each f In ActiveDocument.Fields
If f.Type = wdFieldMergeField Then
f.Result.Text = Replace(f.Result.Text, "_", Chr(160))
End If
Next f
Set f = Nothing
End Subsoubor uložte s povolenými makry (.docm) zavřete a otevřete.
Nyní, pokud překliknete záznamy, načte se záznam a v něm se změní všechna podtržítka na pevné mezery. Není to nic moc, ale mně to funguje. Nicméně Word (stejně jako Excel) má tendenci zapomínat hodnoty proměnných, takže se může stát, že časem to podtržítko měnit nebude. Pak je třeba tento dokument zavřít a znovu otevřít. Další možností je přidat na stránku tlačítko. Vyzkoušejte, uvidíte.
Jen podotýkám, že s VBA ve Wordu moc zkušeností nemám a s Wordem moc nepracuji. Takže možná (pravděpodobně) existuje sofistikovanější řešení.
Koukal jsem na to a vypadá to, že přes hromadnou korespondenci to nepůjde - pevnou mezeru prostě nebere. Chvíli jsem hledal, jestli nelze ve Wordu použít Pole pro náhradu znaku (např. "_" za pevnou mezeru). Jestli to jde, netuším. Zase tak často s Wordem nepracuji, takže to potřebovat nebudu.
Na druhou stranu z té přílohy jsem úplně nepochopil, co a jak přesně děláte - působí to na mně, jako že hromadná korespondence je úplně zbytečná. Nebylo by lepší vytvořit tu tabulku v Excelu a do Wordu vložit výsledek jako propojený objekt?
Pak je tady ještě možnost využít VBA - načíst data z Excelu do proměnné, v té nahradit klasickou mezeru za pevnou a tuto hodnotu vložit do Wordu.
@elninoslov
Pozor na odkazy na list, Worksheet("Report") nieje to isté ako Worksheet("report")
Patří tam Worksheets, ale to beru jako noční únavu. Nicméně já by řekl, že to naopak je to samé. Nebo vysvětlete, jak jste to myslel...
Asi takhle - možná to bude blbost, ale nám se Vážně nechce vytvářet si soubory, na kterých to odzkoušíme. A může existovat více možností, jak to může být nastaveno.
Takže vložte přílohu a někdo se koukne.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.