Musí to být makro?=ČÁST(C2;NAJÍT("-";C2)+1;5)-ZLEVA(C2;NAJÍT("-";C2)-1)Chybu jsem neřešil
Chcete spustit kód v excelu a neotevírat přitom excel? Ne, to nejde.
Navíc na toto je lepší script - PowerShell, VBS, ...
Díky za reakci.
Ještě jsem se k tomu nedostal. Ale, pokud neexistuje jiná cesta, budu se muset spokojit s ADO + VBA
Funkcím DATEADD,DATEDIFF apod. nevěřím. Bylo už tu řešeno. Raději používám toto FY_PERIODA = "201805"
Debug.Print Format$(DateSerial(Val(Left$(FY_PERIODA, 4)), Val(Right$(FY_PERIODA, 2)) - 3, 1), "yyyymm")
@JoKe
FALSE nebo NEPRAVDA čili TEXT
Nikoliv text, ale logickou hodnotu
Přesouvám - není excel
1) Rada - Nepoužívejte v názvech procedur, proměnných atp diakritiku
2) Tyto věci řeším jedním tlačítkem a v proceduře odkazem na aktuální polohu kurzoru
3) Když už byste na tom trval, tak ano - toto lze udělat - všem tlačítkům přiřaďte 1 proceduruSub Sluzobna_cesta()
Dim rCell As Range
Set rCell = ActiveSheet.Cells(ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row, 1)
If InStr(rCell.Value, "služobná cesta - ") > 0 Then
rCell.Value = Replace(rCell.Value, "služobná cesta - ", "")
Else
rCell.Value = "služobná cesta - " & rCell.Value
End If
Set rCell = Nothing
End SubPak už záleží pouze na správném umístění tlačítka.
@Martinxlsm
A to i přesto, že jsem si na otázku odpověděl sám...
Přesně toho jsem chtěl dosáhnout ;)
@Martinxlsm
Prosím, pro lepší čitelnost kód vkládejte do tagu code (to je ten $) - děkuji
S tímhle bych byl opatrný:powershell -Command "(gc in.csv) -replace ';;;;;;;;;;;;'Pokud rozumím, chcete nahradit pouze v prvním řádku.
@marjankaj
Je lepší, že je sem vložen funkční kód - třeba to někdo někdy využije a nebude se ptát, jak to dopadlo.
Pobavil jste mě, nic ve zlém... :-)
Jsem rád, ale docela by mně zajímalo čím. Nevím co máte za verzi excelu (nedávno tu řešil xlnc) - ale pokud je originál v UTF8 bez BOM - umíte ho stejně uložit v excelu? Toto je totiž pro mnoho programů zásadní problém - prostě pokud to má sloužit jako import, po úpravě v excelu se vám to velmi často nepovede. A to nemluvím o dalších problémech, jako chybný import číselných oddělovačů atp (když se vám z 1 koruny stane 40000 a ani si toho nevšimnete ;) ) . No - nedělám to ;)))
Ta rada je skrytá ve větě
jedná se o textový soubor - na to není potřeba otevírat v excelu
Způsobů je více => Hledejte například OpenTextFile pro FileSystemObject nebo Open FilePath For Mode As FileNumber
Já vím, že PowerShell je součástí - jinak bych vám ho tu nenavrhoval.
Upřímně
Provádět úpravy csv souboru pomocí excelu není moudré. A to proto, že excel si prostě provede ještě svoje úpravy, které nechcete.
To znamená - buď nějaký skript (podíval bych se, co všechno umí Shell nebo PowerShell), VBS nebo klidně makro, ale nemělo by dojít k otevření a uložení v excelu, ale pouze úpravám uvnitř (jedná se o textový soubor - na to není potřeba otevírat v excelu). Já si tímto způsobem z CSV odstraňuji první řádek.
Píšete jen - nějaké změny. Záleží co jsou to za změny.
Takhle nějak.
Nad přesností jsem nepřemýšlel. Prostě jen princip ;)
Sub Odomkni()
On Error Resume Next
ActiveSheet.Unprotect
On Error GoTo 0
If ActiveSheet.ProtectContents Then
MsgBox "Špatné heslo"
Else
'kód
ActiveSheet.Protect "1234"
End If
End Sub
Jo - šlo by to ;)
Sranda je, že jsem to neuložil, tak doufám, že to nezapomenu ;)
Zveřejním, až řekneš.
Podmíněný formát. OPAKOVAT by mi tak jednoduše nedovolilo ty čísla v buňkách zarovnané vpravo ;) .
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.