Upravil jsem řádek s "r_max" (vba), aby poslední řádek hledal v celém listu a ne ve sloupci "B".
Tohle by snad melo stačit.
Pokud ne, tak bych navrhoval upravit makro tak, aby se při otevírání zamkly již vyplněné buňky(řádky).
Tím by se předešlo nechtěnému mazaní již uložených dat.
Cyklovat by to šlo taky, ale je otázka či v těch ostatních listech budou povinné sloupce stejné.
Mno jo no, to je tak když někomu vezmeš práci a vpíchneš tam něco svoje
Nevím jak jsem se dostal k tomu, že mám tahat datum z "B7".
Ale naštěstí jsou tady borci, kteří to napraví
mosquito791 napsal/a:
Já vyzkoušel všech 12 měsíců a bez chybyPříloha: 21864_lisdd.zip
Já vyzkoušel všech 12 měsíců a bez chyby
dovolil jsem si do makra od @cmuch1 vložit řadek pro eliminaci pátku . Snad to nebude vadit.
Sub CopyDayMonth()
Dim dtm As Variant
Dim Feb As Byte, Month As Byte, i As Byte
Application.ScreenUpdating = False
Month = Range("B2")
If (Format(Now, "yyyy") / 4) = (Format(Now, "yyyy") \ 4) Then
Feb = 29
Else
Feb = 28
End If
GetMonth = Choose(Month, 31, Feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
For i = 2 To GetMonth
dtm = Format(i, "00") & "." & Format(Month, "00") & "." & Format(Range("B7"), "yy")
If Not Weekday(CDate(dtm), vbMonday) = 5 Then '5 se rovná pátek alespon tady v ČR :-D
Sheets(Sheets.Count).Copy After:=Sheets(ThisWorkbook.Sheets.Count)
Sheets(Sheets.Count).Name = dtm
Range("B7").Formula = "=DATE(" & Format(Range("B7"), "yyyy") & ",B2," & i & ")"
Calculate
End If
Next i
Sheets(1).Select
Application.ScreenUpdating = True
End Sub
a co takhle
viz příloha
mno jo ted koukám, že tam není .enabled nebo .visible.
Tak teď nechápu proč je tam
textbox65 = true ,nebo
combobox4 = true
a nestačí jenom "If TextBox65 = "" Then MsgBox .... :Exit Sub"
atd...
asi mám dlouhé vedení
zrušit else
If TextBox65 = True And TextBox65 = "" Then MsgBox "Zadejte rozměr délky a šířky zdi...(Rozměr zdiva 2)", vbInformation: Exit Sub
If ComboBox4 = True And ComboBox4 = "" Then MsgBox "Vyberte rozměr bednění (cihly) pro výpočet spotřeby... (Rozměr zdiva 2)", vbInformation: Exit Sub
nebo v případe že tech sloupců bude víc může se to řešit i takhle
viz přílohu
soubor aktualizován
nevím jak moc seš zběhlý ve VBA takže až otevřeš sešit
kláv. zkratka "Alt + F11" co otevře okno s makrem
vlevo dvojklik na "List1" tam je celé makro, který danou proceduru provádí + přidal jsem jednoduché popisky.
Snad tě to nakopne
Nebo takhle
V listu "data" přidat, nebo měnit položky dle libosti.
Klidně se může přidat další sloupec jenom dbát na to, aby sloupce byly na stejném miste u obou listů.
viz přílohu
Ve vzorcích se moc nevyznám, ale ve VBA je to jednoduché.
Kde například nadefinovaná buňka je "C3"
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("C3").Value = Target.Value
End Sub
viz přílohu
Místo
PdfFile = PdfPath & ActiveCell & ".pdf"
nahradit ActiveCell => List1.Range("A1") viz níže
PdfFile = PdfPath & List1.Range("A1") & ".pdf"
upozornění: pokud používáš anglickou verzi MS Office tak List1 nahradit Sheet1, nebo napsat jenom Range ("A1")
@AL
Naštěstí já tak dobrý nejsem, aby mi někdo něco sliboval , ale každopádně není to fér jednání.
Lidi jsou někdy zvláštní, ale to už patří na jiné fórum a nechci tady spamovat
AL napsal/a:
To je ale náhodička Petr_Jak, predtým zvaný Mireek19, sa dnešným dňom prevtelil a odteraz je pre zmenu Mysakaka. No iste, samozrejme budú nasledovať rovnaké otázky, akože o čom je reč, viď. fešáku?
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.