Příspěvky uživatele


< návrat zpět

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

Nič z toho, čo som zafarbil na šedo, nepotrebujete.

Pepo, buďte si ale vedomý toho, že takto Vám to vypisuje mesto a dátum prvého výskytu zhora. Ak chcete aby boli mená jedinečné zároveň aj s dátumami, alebo mená aj s dátumami aj mestami, tak to musíme urobiť inak.

Pr.

Ak je príloha XLSM, treba ju zabaliť do ZIP. Ak je veľká, treba zmenšiť do cca 300 KB.

No problema + pár zmien vo vzorcoch, sviatkoch, automatické mesiace (zadáte iba raz za rok číslo roku, a mesiace sa zapíšu podľa CZ názvu listu), skrývanie výpočtov v dňoch nepatriacich mesiacu, samozrejme to požadované PF.

Práveže to ide aj zapnúť aj vypnúť v pohode. Overené na 2007, 2013, 2024, 365. Len na každý ide iný reťazec odoslaných kláves. 2016 a 2019 nemám, a nechce sa mi vytvárať ďalšie virtuálky aby som nastavil správny reťazec. Ostatné sem pridám, práve mám rozrobené ošetrenie chýba a pod. len mám inú prácu...

Vyskúšal som to na 3 jazykových verziách O365. Všade mi to šlapalo. Akú máte verziu? Pozriem, či nemám takú vo virtuále a vyskúšam. Ak máte napr. O2016 nemusí presne sedieť menu, teda kurzor nabehne inde. Samozrejme jazyk. Preto som písal, že to treba dopilovať.

Ešte som zabudol: musíte to spúšťať napr. tlačítkom z listu, nie z VBA okna.

Tak ono teoreticky to je možné zmeniť nedobrovoľne, odoslaním patričnej sekvencie kláves. Lenže treba to ošéfovať pre rôzne verzie Office, ale hlavne použiť čo najmenej klávesových skratiek, lebo sú závislé na jazykovej mutácii. Tu je príklad EN vs SK/CZ. Do horného menu sa dostane raz cez Alt+S, inokedy cez Alt+F.
Sub Doverovat_VBA()
Dim LF As String
Select Case Application.International(XlApplicationInternational.xlCountryCode)
Case 1: LF = "f" 'EN
Case 421, 420: LF = "s" 'SK/CZ
Case Else:
End Select
If LF <> "" Then CreateObject("WScript.Shell").SendKeys "%(" & LF & "){UP 2}{ENTER 2}{PGDN}{TAB 2}{ENTER}{PGUP}{DOWN 6}{TAB 3}{ }{ENTER}{TAB}{ENTER}", True
End Sub

Okrem toho SendKeys (je jedno či Shell alebo Application) trpí vo VBA NumLock bugom. To by sa muselo ešte ošetriť, aby neostal prepnutý NL. Žiadna iná metóda (ani cez Register) sa mi nepodarila rozbehať. Iba toto.

EDIT:
Jáj, a nenapísal som ešte Imh0tep-ovi: Ako príklad, ako si vynútiť zapnutie makier, Vám môže poslúžiť tento príklad, čo som sem dal pár dní naspäť.
Takže najskôr vynútiť zapnutie makier, makro skontroluje a zapne dôveru vo VBA, potom kontrola dátumu, zmazanie modulov, zobrazenie listov. Bum hotovo. Len kopec omáčky ešte, kontroly a tak. No prečítajte si, čo sme so Stalker-om písali v tom vlákne o (ne)zabezpečení Excelu.

Iba nejaký modul či konkrétne makro alebo všetky triedy a moduly ?
Mazacie makro bude v inom súbore alebo v tom z ktorého sa má mazať ?
Ide teda aj o zmenu XLSM -> XLSX ?
Ten súbor bude počas toho otvorený a používaný ?

Niektoré prípady možné asi nebudú. Napr. si myslím, že nebude možné makrom zmazať samé seba. To bude treba vymyslieť. A možno komplikovane napr. cez novú inštanciu Excelu ...

Biela farba ? No predsa E22:G29 a E12:G17.

"...třeba na více etap..." No tak moment. To si máme vysvetliť tak, že medzi môžu byť aj pracovné dni, počas ktorých sa na projekte nepracovalo? Teda, že to nie je ucelená "zelená" (nepočítam víkendy) ??? To potom počty v E nebudú sedieť. Treba ich potom zrátať inak (napr. COUNTIF). Prípadne upresnite.

Trojbodka NIE SÚ tri bodky! Máte asi v automatických opravách 3 bodky na trojbodku. Koho napadlo "skryť" hodnoty bielou farbou ??? Nemá sa počítať iba určitý mesiac? Lebo tam je presah do ďalšieho.
Inak snáď som nezabudol na niečo z toho čo ste chcel...

Inak vzorce sa dajú všelijaké urobiť, napr. vzorec konca môžete dať
=IFERROR(LOOKUP(2;1/(J18:AZ18=".");J$10:AZ$10);"")
=IFERROR(VYHLEDAT(2;1/(J18:AZ18=".");J$10:AZ$10);"")

alebo v novších Office
=XLOOKUP(".";J18:AZ18;J$10:AZ$10;"";0;-1)

A to podmienené formátovanie na 3 bodky si radšej dajte
=OR(J12="...";J12="…")
=NEBO(J12="...";J12="…")

nech máte obsiahnuté obe možnosti, keď neviete ako budú nastavené automatické opravy v jednotlivých Exceloch.

Nejaký príklad. Ale riešiť, čo všetko dokáže užívateľ posrať, sa mi nechce.

Private Sub Workbook_Open()
Sheets("Sheet1").Unprotect Password:="yourpassword"
Sheets("Sheet1").Protect Password:="yourpassword", UserInterfaceOnly:=True
End Sub

Nevýhodou je, že to heslo musí byť v tom makre uvedené. Je treba zaheslovať aj VBA modul, ale to nie je nepriestrelné. Dá sa to obabrať. Excel nie je trezor.

Sub Uloz()
With ActiveSheet
.Shapes.Range(Array("Data", "FNe", "NOWRok")).Visible = False
ThisWorkbook.SaveCopyAs "D:\pokus\" & .Range("AC1").Value & ".xlsm"
.Shapes.Range(Array("Data", "FNe", "NOWRok")).Visible = True
End With
End Sub

Stačí procedúru pre nový stĺpec upraviť obdobne, ako pre nový riadok.

Tu som Vám upravil aj ostatné procedúry, a zároveň som sa snažil zmeniť vzorce tak, aby ich funkčnosť prežila aj mazanie riadkov a stĺpcov.


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

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje