< návrat zpět
MS Excel
Téma: Přičtení X dnů k vloženému datu
Zaslal/a Martin-Peca 4.6.2017 19:11
Zdravím.
Mám formulář, do kterého se mi, pomocí makra, vkládají údaje k tisku:
Sub TiskFormulare()
Dim aData(), i As Long, Radku As Long
With Worksheets("Data")
Radku = .Cells(Rows.Count, 1).End(xlUp).Row
If Radku = 1 And .Cells(1, 1) = "" Then MsgBox ("Nejsou data"): Exit Sub
aData = .Cells(1, 1).Resize(Radku, 3).Value
End With
Application.ScreenUpdating = False
With Worksheets("Form")
For i = 2 To Radku
.Cells(8, 5) = aData(i, 1)
.Cells(8, 11) = aData(i, 2)
.Cells(40, 10) = aData(i, 5)
.PrintOut
Next i
End With
Application.ScreenUpdating = True
End Sub
Je možné toto makro upravit tak, aby se k syntaxi .Cells(40, 10) = aData(i, 5) přičetl jeden den s tím, že nové datum nesmí být víkend?
Tisknu tak hromadně formuláře a to datum tam vypisuji ručně úplně zbytečně.
Díky moc.
Toto Vám nemôže prejsť :
aData(i, 5)
Stĺpce načítate iba 3.
Testujete, či prvý riadok nieje prázdny, to je v poriadku, lebo xlUp vráti 1 aj keď je prázdny, ale neskôr v cykle idete až od 2. riadku. Teda predpokladám, že stĺpce dát v tabuľke majú nejakú hlavičku v prvom riadku. Preto si to radšej upravte približne takto.
Pripočíta 1,2 alebo 3 dni, podľa toho či je dátum Pi, So, alebo zvyšné.
Predpokladám, že budete ešte neskôr potrebovať riešiť aj sviatky :)
Příloha: 36624_prirataj-den.zip (14kB, staženo 25x) citovat
Martin-Peca(5.6.2017 10:54)#036629 Máte pravdu, že to neprošlo. Kód jsem nakopíroval dříve, než jsem upravil hodnotu aData. :)
To makro není z mé hlavy, vytvořil mi ho někdo z místních. Já se ve VBA vůbec nevyznám.
Upravený skript vykouším. Děkuji moc!!
citovat