< návrat zpět

MS Excel


Téma: Číselná řada faktur rss

Zaslal/a 29.2.2016 10:52

Zdravím,

potřeboval bych poradit. Vytvářím do práce takovou zjednodušenou knihu faktur viz příloha.
Nejsem žádný specialista na makra takže bych potřeboval poradit od Vás.
Již jsem vytvořil tlačítko, které mi zapíše do prázdného řádku datum a přeskočí na vedlejší buňku. Tento stav bych chtěl vylepšit o automatické doplňování číselné řady ve tvaru RRRRMMXXXX(rok, měsíc a čtyřmístné číslo startující 0001) a s každým novým měsícem, aby se opět začalo 0001.
Sám na to nepřijdu takže bych Vám byl vděčný.
Díky. Martin

Příloha: zip30467_kopie-el-fakturyxxx.zip (47kB, staženo 57x)
Zaslat odpověď >

#030468
Opičák
Možná nějak takto, ale počkejte na řešení zkušenějších.

Private Sub CommandButton1_Click()

Sheets("Objednávky přeprav").Select
dd = Day(Now): mm = Month(Now): rr = Year(Now)

Columns("A:A").NumberFormat = "dd/mm/yy;@"
Columns("B:B").NumberFormat = "@"

pRadek = Application.WorksheetFunction.CountA(Range("a:a"))
Cells(pRadek + 1, "A") = Now

On Error Resume Next
If Month(Cells(pRadek, "A")) < mm Then
poradi = 1: GoTo px
End If

If pRadek = 1 Then
poradi = 1
Else
poradi = CDbl(Right(Cells(pRadek, "B"), 4)) + 1
End If
px:
On Error GoTo 0
poradiTXT = Format(Str(poradi), "0000")
rokTXT = Format(Str(rr), "0000")
mesTXT = Format(Str(mm), "00")
denTXT = Format(Str(dd), "00")
Cells(pRadek + 1, "B") = rokTXT & mesTXT & denTXT & poradiTXT
End Subcitovat
#030471
avatar
Private Sub CommandButton1_Click()
Dim doklad As String, x As Integer
a = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(a, 1).Select
Columns(2).NumberFormat = "@"
ActiveCell.Value = Format$(Now, "dd/mm/yyyy")
If ActiveCell.Offset(-1, 1).Value = "Číslo dokladu" Then
GoTo skok
End If
If Month(ActiveCell.Offset(-1, 0).Value) = Month(Now) Then
On Error GoTo skok
x = Right(ActiveCell.Offset(-1, 1), 4)
x = x + 1
Else
skok:
x = 1
End If
doklad = Format$(Now, "yyyymmdd") & Format$(x, "0000")

ActiveCell.Offset(0, 1).Value = doklad


End Sub


ale taky nejsem žádný guru excel master :-) na to jsou tu jiní...citovat
#030473
avatar
Lze i takto
Private Sub CommandButton1_Click()
Dim nrFaktury As Integer, radek As Long
radek = Cells(Rows.Count, 1).End(xlUp).Row + 1
With Cells(radek, 1)
If Month(.Offset(-1, 0).Value) = Month(Now) Then
If IsNumeric(Right(.Offset(-1, 1), 4)) Then
nrFaktury = 1
Else
nrFaktury = Right(.Offset(-1, 1), 4) + 1
End If
Else
nrFaktury = 1
End If
.Value = Format(Now, "dd/mm/yyyy")
.Offset(0, 1).Value = Format(Now, "yyyymmdd") & Format(nrFaktury, "0000")
End With 'cells(radek,1)
End Sub
citovat
#030479
avatar
Perfektní funguje jak jsem potřeboval. Mockrát díky, fakt mi to pomohlo.citovat

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