Dobrý den,
omlouvám se, že to takhle kouskuju (žádsot), ale chtěl bych požádat, zda byste mi někdo, prosím, pomohl dodělat do sloupců, které mají červeně podbarvené záhlaví sumu v Kč, která se bude v daném roce (rok je uveden v záhlaví konkrétního sloupce) platit při zohlednění aktuálního data, již zaplacených splátek, data poslední splátky a data první splátky.
Děkuji
Děkuji všem.
Použil jsem hned to první řešení od @elninoslov a funguje to.
Díky
Dobrý den všem,
mohl byste mi někdo poradit, ideálně se vzorcem, který spočítá, kolik splátek od první splátky (včetně první splátky) bylo provedeno k aktuálnímu datu?
V jedné buňce mám datum první splátky, v další buňce mám číslo pořadového dne splátky v měsíci (např. 23.).
Děkuji
Jj, jsem lama
Vyzkoušel jsem to a funguje to.
Snad jsem něco nepřehlédl.
Děkuji
Zatím jsem doplnil ta pole bez změny formátu, ale tyto dvě s částkou nedokážu zapsat:
s7 = Replace(Format(rRow.Cells(7).Value, "0.00"), ",", ".") & ","
s8 = Replace(Format(rRow.Cells(8).Value, "0.00"), ",", ".") & ","
A mohl byste mi začátek té kontroly a pak doplnění do požadované délky napsat do kódu?
Sub subExport2Text()
Dim s1 As String, s2 As String, s3 As String, s4 As String, s5 As String, s6 As String, s7 As String, s8 As String, s9 As String, s10 As String
Dim sPrint As String
'TOTO JE PRVNÍ ŘÁDEK VE VYEXPORTOVANÉM SOUBORU. TEN POTŘEBUJI MÍT V TOTMTO FORMÁTU
sPrint = Range("D1").Value & "," & """" & Range("A1").Value & """" & "," & Range("B1").Value & "," & Range("C1").Value & "," & """" & "HERKUL a.s." & """" & "," & """" & "25004638" & """" & "," & """" & "Praha 1, Rybná 682/14, PSČ 110 01" & """" & vbNewLine
Dim rRow As Range
For Each rRow In Range(Cells(3, 1), Cells(Rows.Count, 10).End(xlUp)).Rows
s1 = """" & rRow.Cells(1).Value & """" & ","
s2 = """" & rRow.Cells(2).Value & """" & ","
s3 = rRow.Cells(3).Value & ","
s4 = """" & rRow.Cells(4).Value & """" & ","
s5 = """" & rRow.Cells(5).Value & """" & ","
s6 = rRow.Cells(6).Value & ","
s7 = Replace(Format(rRow.Cells(7).Value, "0.00"), ",", ".") & ","
s8 = Replace(Format(rRow.Cells(8).Value, "0.00"), ",", ".") & ","
s9 = rRow.Cells(9).Value & ","
s10 = rRow.Cells(10).Value
sPrint = sPrint & s1 & s2 & s3 & s4 & s5 & s6 & s7 & s8 & s9 & s10 & vbNewLine
Next rRow
Set rRow = Nothing
Dim sFile As String
sFile = Application.GetSaveAsFilename(InitialFileName:=Format(Range("D1").Value, "yyyy-mm-dd") & "_" & "Pohledávky ČS regulace", FileFilter:="CSV (textový soubor s oddělovači) (*.csv), *.csv")
If Not sFile = "False" Then
Dim iFile As Byte
iFile = FreeFile
Open sFile For Output As #iFile
Print #iFile, Mid$(sPrint, 1, Len(sPrint) - 2);
Close #iFile
Shell "Notepad.exe" & " " & sFile, 1
Else
MsgBox "Zrušeno uživatelem."
End If
End Sub
Já bych si to pak dopsal
Já musím mít ten vyexportovaný soubor dle požadavku České spořitelny, viz příloha.
Tu hlavičku má vyřešenou a teď řeším ten Seznam pohledávek a maximální délku řetězce. Ta minimální je vždy splněna.
Děkuji
Dobrý den,
já edituji ten kód pro jinou banku, která to chce pro jistotu v *csv...
Nicméně se mi to zřejmě podařilo, jen bych potřeboval poradit s touto částí kódu
Dim s1 As String * 120, s2 As String * 30, s3 As String * 3, s4 As String * 120, s5 As String * 10, s6 As String * 3, s7 As String * 13, s8 As String * 13, s9 As String * 10, s10 As String * 10
ty hodnoty délek jsou maximální. To znamená, že to nesmí přesáhnout v každém poli tuto délku.
Jenže, pokud to mám takto, tak mi to nejde naimportovat do bankovního systému.
Pokud, ale zruším ty délky polí, tak to funguje, protože se to vyexportuje bez "mezer" navíc.
Dá se to do těch délek zapsat ak, aby se tam ty mezery navíc nedělaly a je se kontroloval počet znaků v poli?
Např.
Dim s1 As String * maximum 120
Děkuji
Děkuji, ten středník na konci pomohl a už tam není řádek navíc.
V pondělí na to kouknu.
Nemám u sebe NB a v BlackBerry Passport mi makra v Excelu makat asi nebudou
Jj, děkuji.
Já vydržím
Když to nahradím, tak mi to zkrátí poslední záznam o dva znaky.
Takže pak ten poslední řádek nemá 66 znaků, ale jen 64.
Jj, tak teď už to je dobře.
Vrátil jsem tam zpět i tu 1
A ten poslední prázdný řádek tam musí být?
Děkuji
Zkoušel jsem upravit ten kód, aby se mi exportovala data až od třetího řádku.
Nakonec jsem metodou pokus a omyl tady
Print #iFile, Mid$(sPrint, 137, Len(sPrint) - 2)
změnil 1 na 137 a už se to tak exportuje.
Akorát na konci je vždy ještě jeden nový připravený řádek.
Já jsem původně dal číslo 132, protože počet znaků v jednom řádku v exportovaném souboru je vždy 66 a nechtěl jsem dva řádky a proto jsem zkoušel těch 132.
Nicméně je to 137 a nevím proč těch pět navíc...
Určitě by to šlo vyřešit i jinak.
Jj, už to nabízí možnost uložení.
Akorát, když se to otevře, tak jsou uloženy i první dva řádky. To jsem v minulé verzi přehlédl.
V prvním řádku jsou popisy sloupců a druhý řádek je prázdný.
Já potřebuji uložit tedy data až od 3. řádku dále. A nepřišel jsem na to, kde to mám přenastavit
A tady byla má být 5 místo 1
s5 = Replace(Format(rRow.Cells(1).Value, "000000000.00"), ",", ".")
ale to jsem si upravil
Děkuji
Jj, jsem lama
Omlouvám se za komplikace.
Podle mě to funguje korektně.
Připravím a pošlu do banky a uvidíme.
Ještě jednou díky
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.