Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další »

tady to máš.

počet listů jsem bral všechny listy v sešitu.

upravil jsem trochu msgbox, aby byl videt i název listu.

co tohle:
v makru si uprav cestu pro sesit pokus_1

Jako v jiném souboru?

Vba:
Vložit příkaz do "ThisWorkbook"

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets(1).Range("A1") = Now()
End Sub


kde příklad:
do listu "List1" v buňce "A1" se při ukládání vloží datum a čas.

samotný excel neposleš, musíš nejdřív zabalit (rar,zip,...)

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 1
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í 10

mosquito791 napsal/a:

Já vyzkoušel všech 12 měsíců a bez chybyPříloha: 21864_lisdd.zip


p.s. list1 v range("B7") ti nechybí datum?

zkus nahradit řadek:
dtm = Format(i, "00") & "." & Format(Month, "00") & "." & Format(Range("B7"), "yy")
timto:
dtm = Format(i, "00") & "." & Format(Month, "00") & "." & Format(Now, "yy")

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 1 . Snad to nebude vadit. 10

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. 1

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í 5

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 1

viz přílohu

soubor aktualizován 10
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 5


Strana:  « předchozí  1 2 3 4 5 6 7 8 9   další »

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