< 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 56x)
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

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Čas od do

lubo • 19.4. 16:30

Makro smyčka

MilanKop • 19.4. 10:46

Makro smyčka

elninoslov • 19.4. 9:02

Čas od do

elninoslov • 19.4. 8:46

Čas od do

jarek1111 • 18.4. 13:46

Čas od do

lubo • 18.4. 11:13

Čas od do

jarek1111 • 18.4. 8:32