Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  278 279 280 281 282 283 284 285 286   další » ... 289

Môžeš povedať, čo by si tam ešte chcel upraviť ?
-Mesiac v listoch sa mení podľa aktuálneho dátumu.
-V náväznosti samozrejme aj dátumy.
-Nereálne dni sa nezobrazujú. To nebolo ošetrené tuším vo Výkaz nočních prací a Kniha jízd.
-Dvojpísmenný názov dňa a názov mesiaca sa nenačítavajú zo zoznamu v List1, ale na to má Excel fnc - nastavením vhodného formátu.
-V poliach Zakázka je výberový zoznam, má uľahčiť písanie, ale môžeš do buniek zapísať čo chceš, nielen to čo je v zozname.
-Stačí zadať iba číslo dňa do B44 v prvom liste, do ostatných sa to skopíruje aj s aktuálnym mesiacom.
-Kniha jízd nezobrazuje údaj Služební jízdy celkem a Stav tachometru v nereálnych dňoch mesiaca

Neviem ako inak si to myslel.

Sub CisloKopie(Pocet As Integer)
Dim Cislo As Integer
For Cislo = 1 To Pocet
With ActiveSheet
.Cells(1, 5).Value = Cislo 'Tu bude číslo kópie "E1"
.PrintOut
End With
Next Cislo
End Sub

Sub Tlac()
Call CisloKopie(3) 'Počet kókií
End Sub

alebo
Sub CisloKopie2(Pocet As Integer)
Dim Cislo As Integer
For Cislo = 1 To Pocet
With ActiveSheet
.Cells(1, 5).Value = .Cells(1, 5).Value + 1
.PrintOut
End With
Next Cislo
End Sub

Prvá verzia vytlačí zadaný počet kópií, očísluje ich od 1 po Počet.
Druhá verzia vytlačí zadaný počet kópií, očísluje ich tak, že pridá číslo 1 k predošlému číslu.
V oboch prípadoch je treba mať vopred nastavené Nastavenie tlače dokumentu. Toto je okamžitá tlač.

ActiveSheet.Shapes.SelectAll
alebo v prípade, že niektoré sú Invisible, alebo inak nežiadúce vo výsledku, tak potom takto:
Sub Select_all()
Dim sh As Shape, sel()
For Each sh In ActiveSheet.Shapes
If sh.Visible Then
If Not Not sel Then ReDim Preserve sel(1 To UBound(sel) + 1) Else ReDim sel(1 To 1)
sel(UBound(sel)) = sh.Name
End If
Next sh
ActiveSheet.Shapes.Range(sel).Select
End Sub

Myslíš toto ?

Podmienené formátovanie - Vymazať pravidlá - Vymazať pravidlá z celého hárka

Tak ďalšie úpravy. Už ani nebudem popisovať čo som pomenil. Snáď na to prídeš.

Dámy a páni dal by som si tuším ruku odťať za to, že mi v noci hádzalo chybu v Report/report. :) Samozrejme vo Worksheets. No čo už, tak budem o ruku kratší. Možno som ten názov listu len zle opísal. Kolega eLCHa má pravdu. Takže tú jednu vetu beriem späť.
No uvidíme, čo na to hans66, či mu niečo z toho bude k prospechu.

Skús tento xlsx.

Uf. Ani neviem kde začať. Treba používať jednotný typ zápisu názvov pre celý zošit. Keď listy s diakritikou tak všetky, a naopak. Keď prvé písmeno veľké, tak všetky listy. Pozor na odkazy na list, Worksheet("Report") nieje to isté ako Worksheet("report"). Treba používať ak je to možné konštrukciu "With" - "End With", sprehľadňuje, zrýchľuje. Zjednodušil som podmienky, vyriešil som zápis tej karty. Tam bola ďalšia chyba, lebo v nasledujúcom bloku po spomínanom zápise údaju o SD, bol tento prepísaný. Zrušil som Moduly, a dal všetko do Module1. Pri resetovaní (tl. "Nový") nemusíš zadávať do buniek "FormulaR1C1", stačí "Value". Vo výberových zoznamoch si mal "Vyber:", no reset ti tam dal "vyber:", potom nefungujú náväznosti s "ANO/NE". Tie treba podľa mňa doriešiť. Upravil som aj ostatné zápisy do "Report" a "Pausal", aby tam nedávalo slovo "Vyber:" ale vytvoril som poloubiverzálnu fnc pre výpočet hodnoty (hodnota/"NE"). A čo treba doriešiť ? Čo sa má zapísať ak je v bunke "Vyber:", čo ak je tam "---------", a čo ak je tam "". Napr. Internet keď sa zadá "---------", tak napr. zapíšme "NE", čiže nemá. Ale keď zabudneme vyplniť, alebo nebudeme vedieť, bude tam "Vyber:", a v tom prípade by bolo lepšie tam zapísať "N/A". Lebo "NE" v tomto prípade nieje vhodné, a "Vyber:" už vôbec nie.
Ďalej všetky tie dáta do výberových zoznamov by som presunul na iný list, trebárs skrytý. Oblasť Prefix je tam 2x.
Takých vecí tam bolo viac, už mi ani hlava nepracuje. Nabudúce treba presnejšie popísať čo všetko treba, čo nejde, čo by si chcel atď, lebo často veľa vecí so sebou úzko súvisí, a potom to treba 5x prekopať.
Snáď si z toho niečo vyberieš. Dobrú noc.

Nemáš to rovnako. CB1 a CB2 riešia rovno hodnoty D58 a D59 (ANO/NE). Naproti tomu CB3 rieši ANO/NE až na základe zvolenej hodnoty. Ty prečítaš hodnotu "vyber:" a chceš od neho "NE". Chýba ti tam ešte jedna podmienka, ktorá ošetrí, že ak nič nezadáš, čiže v bunke D32 je hodnota "vyber:", tak nech to považuje za "NE". On to totiž inak nemá odkiaľ vedieť, že "vyber:" aj "---------" znamená "NE", a iba akákoľvek iná hodnota znamená "ANO".
'checkbox3 usb kabel
If Worksheets("Formular").CheckBox3.Value = True And Worksheets("Formular").Range("D32").Value <> "vyber:" Then
Worksheets("SD karty").Cells(Radek, 4) = Worksheets("Formular").Range("D32").Value 'SD karta
Else: Worksheets("SD karty").Cells(Radek, 4) = Worksheets("Formular").Range("D59").Value
End If

Aj tak sa to dá ale ešte veľmi zjednodušiť. Niečo na tom ešte zjednoduším, uvidíme, koľko bude času.
Popisky ti tiež nesedia.

Zameň to za toto.
Nájde korektný prvý prázdny riadok v "report", teda bez problému s preskakovaním prvého prázdneho riadku v tvojom príklade. Zádrhel vidím aj v tom, že dátum nekontroluješ, či bol zadaný, ale pritom práve stĺpec s dátumom kontroluješ na posledný záznam. To je problém, pri nevložení dátumu, dôjde k prepísaniu záznamu v reporte! Ja mám radšej vyhľadanie posledného použitého riadku v celej oblasti stĺpcov, nie len v jednom. Môžeme doplniť.

Po upozornení aktivuje danú nevyplnenú bunku.

Vieš o tom, že hľadáš posledný riadok v liste "SD karty" a tento riadok potom použiješ ako "posledný" v "report" ? To by som určo ešte opravil...

EDIT: Sorry, zabudol som tam jeden príkaz (Application.Transpose) - upravené, teraz je to OK.

Inak mohlo by to byť aj takto nejako.

Táto úprava môjho kódu funguje myslím tak ako chceš. Do konštanty je potrebné zadať počet zobrazených riadkov LB (nie položiek !).
Vyhľadáva akúkoľvek časť. Predošlá verzia hľadala len začiatok.

Dá sa to ešte minimalizovať na 1 riadok 1
Private Function FileExists(fname) As Boolean
FileExists = Dir(fname) <> ""
End Function


alebo ak chce "A" a "N" tak
Private Function FileExists(fname) As String
FileExists = IIf(Dir(fname) <> "", "A", "N")
End Function


Strana:  1 ... « předchozí  278 279 280 281 282 283 284 285 286   další » ... 289

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

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28

Vzorec pro zkopírování obsahu buňky.

Tonda_Hu • 5.7. 21:17