Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  206 207 208 209 210 211 212 213 214   další » ... 302

Je tam použitý ProgressBar doplnok, a komu sa nechce inštalovať MSCOMCTL.OCX, môže použiť túto náhradu priebehu pomocou Labelu a TextBoxov.

Prečo to stojí na GetObject(aItem) sa mi nedarí nasimulovať.
Možno mu chýba nejaká referencia, no akú to potrebuje sa mi nedarí zistiť.
Všetky moje Referencie sú:
Visual Basic For Applications
Microsoft Excel 16.0 Object Library
Microsoft Forms 2.0 Object Library
OLE Automation
Microsoft Office 16.0 Object Library

Office 2016 x64 Pro SK a fičí to.

Nahraďte ten riadok zatiaľ týmto
Set SWbk = Workbooks.Open(aItem, False)
ale bude to pomalšie.

Vložte prílohu (musíte sa zaregistrovať, prílohu zabaliť do RAR/ZIP), kde bude vidieť nejaké dáta, ich rozmiestnenie, rozsahy ...

Spúšťate to Hromadne spustením makra "SpustiFormat". V ňom si volíte aj oblasť.

Na E2016 skúšam ten vzorec, a bez problémov funguje. Mením rozsahy hore dole, korektne počíta, v definovanom názve je stále vzorec, skúšam ukladať, otvárať. Ale v jednom momente ak som zvolil mesiace 4 a 9 (nie 4 až 9), tak vzorec zmizol, navyše v takomto prípade (nesúvislé obdobie), tak vzorec ani nepočíta správne. Skúste toto:
=INDEX('tisková sestava'!$A:$A;MATCH(SUBTOTAL(5;'tisková sestava'!$B:$B);'tisková sestava'!$B:$B;0)):INDEX('tisková sestava'!$D:$D;MATCH(SUBTOTAL(4;'tisková sestava'!$B:$B);'tisková sestava'!$B:$B;0)+COUNTIF('tisková sestava'!$B:$B;SUBTOTAL(4;'tisková sestava'!$B:$B))-1)

=INDEX('tisková sestava'!$A:$A;POZVYHLEDAT(SUBTOTAL(5;'tisková sestava'!$B:$B);'tisková sestava'!$B:$B;0)):INDEX('tisková sestava'!$D:$D;POZVYHLEDAT(SUBTOTAL(4;'tisková sestava'!$B:$B);'tisková sestava'!$B:$B;0)+COUNTIF('tisková sestava'!$B:$B;SUBTOTAL(4;'tisková sestava'!$B:$B))-1)

Tento počíta správne aj v takom prípade, ale či bude miznúť neviem, ani dôvod nepoznám.

Prípadne poprosím niekoho s E2010 o vyskúšanie aj vzorca aj hlavičky v súvisiacom vlákne.

A kde to pozeráte, keď Vám to "nefunguje" ?
-Zmente hodnotu v bunke E1
-Kliknite na Súbor - Tlačiť (alebo Ctrl+P)

To sa Vám normálne nezobrazuje. Až pri tlači, alebo ak to chcete (netuším načo) stále vidieť, tak musíte prepnúť zobrazenie na karte Zobraziť - Rozloženie strany (alebo vpravo-dole v stavovom riadku sú vedľa lupy 3 tlačítka). Ale to Vám zruší ukotvenie hornej priečky.

Prípadne si to pozrite na karte Vložiť - skupina Text, a tam Hlavička a päta, tu dajte Zrušiť, ak na Vás škrieka okno o zrušení priečky.

Alebo Rozloženie strany - Okraje - Vlastné okraje - Hlavička alebo päta

...

Všade to je zobrazené, tak ako ste chcel. Excel nieje Word, v Exceli nemáte mať čo stále zobrazenú hlavičku - zaberá miesto a znepríjemňuje ovládanie a prehľad (v tom režime "Rozloženie strany") 1

Tak som nakoniec urobil aj tú akokoľvek ohraničenú oblasť, s patričným výsekom z daného formátovania podľa oblasti. Ako vidíte, taká drobnosť podstatne zkomplikuje kód.

Šmarjá, veď to musíte vidieť, že to máte celé červené. To preto, lebo fórum pridáva medzi riadky prázdne riadky. A teda rozdelí náš jednoriadkový kód. On je totiž jednoriadkový, aj keď ho máme s pomocou " _" akože rozdelený na viac.

Zmažte tie medzery medzi riadkami.

Alebo si to nechajte v dlhej jednoriadkovej forme.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$1" Then PageSetup.LeftHeader = "Příloha č. 3 ke Kolovadlu č. " & CStr(Range("E1").Value) & " IPP" & Chr(10) & "&""-,Bold""Přehled vydaných částek Sbírky zákonů s obsahem za dané období"
End Sub

Tak makrom...

A ešte som zabudol, že už sa mi nechcelo ošetrovať, prípadné umiestnenie na 1.riadok/stĺpec A. Vzniká tam totiž pretečenie. Používajte to od riadku 2 a od stĺpca B.

Kdekoľvek v celom liste 0,1,2,3,4,prázdne ...

Pozriem sa Vám na to makro, ale odpovedzte. Chcete hromadne v celom liste (oblasti) vyfarbiť bunky podľa vzoru okolo všetkých čísel 0-4 a prázdne zrušiť vyfarbenie ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$1" Then PageSetup.LeftHeader = _
"Příloha č. 3 ke Kolovadlu č. " & CStr(Range("E1").Value) & " IPP" & _
Chr(10) & "&""-,Bold""Přehled vydaných částek Sbírky zákonů s obsahem za dané období"
End Sub


Vravíte ľavý, píšete pravý (RightHeader).

Ak bude hodnota v E1 počítaná vzorcom, tak to fungovať nebude, lebo vzorcom vypočítaná hodnota nevyvolá procedúru Worksheet_Change.
Preto som vravel, že by sa aktualizácia hlavičky mala urobiť pri inej príležitosti. Na čo je hlavička aby bola hlavne pri tlači na stránkach. Tak preto som navrhol, aby sa pred tlačou aktualizovala (Workbook_BeforePrint). Prípadne, ak nie, navrhol som, aby sa aktivovala zmena hlavičky pri prepnutí medzi listami na daný list. Alebo proste pri inej príležitosti. Alebo si urobte tlačítko.

Vzorec totiž vyvolá procedúru Worksheet_Calculate, ktorá je Vám na nič, lebo v nej nieje možné meniť hlavičku.

Príklad čisto počítaného rozsahu bez filtra, na základe dátumov od-do v bunkách J1-K1:
=OFFSET('tisková sestava'!$A$1:$D$1;MATCH('tisková sestava'!$K$1;'tisková sestava'!$B:$B;1)-COUNTIFS('tisková sestava'!$B:$B;">="&'tisková sestava'!$J$1;'tisková sestava'!$B:$B;"<="&'tisková sestava'!$K$1);;COUNTIFS('tisková sestava'!$B:$B;">="&'tisková sestava'!$J$1;'tisková sestava'!$B:$B;"<="&'tisková sestava'!$K$1))

=POSUN('tisková sestava'!$A$1:$D$1;POZVYHLEDAT('tisková sestava'!$K$1;'tisková sestava'!$B:$B;1)-COUNTIFS('tisková sestava'!$B:$B;">="&'tisková sestava'!$J$1;'tisková sestava'!$B:$B;"<="&'tisková sestava'!$K$1);;COUNTIFS('tisková sestava'!$B:$B;">="&'tisková sestava'!$J$1;'tisková sestava'!$B:$B;"<="&'tisková sestava'!$K$1))

máte ich zoradené, dá sa teda aj takto.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("B:P")) Is Nothing Then Call MacroDatum(Intersect(Target.EntireRow, Columns(1)))
End Sub

Sub MacroDatum(ByRef Target As Range)
Dim RNG As Range

If Target.Cells.Count > 1 Then
On Error Resume Next
Set RNG = Target.SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
Else
If IsEmpty(Target) Then Set RNG = Target
End If

If Not RNG Is Nothing Then
Application.EnableEvents = False
RNG.Value = Date: Set RNG = Nothing
Application.EnableEvents = True
End If
End Sub

Sú tam spomínané aj 2013 a 2016. Ja mám 2016, túto KB nemám, ale Excel mi kolabuje aj niekoľkokrát za týždeň. Katastrofa, takéto veci sa mi v 2013 a 2010 nestávali 7 Doba pokročila, no ... 5

Ešte by sa to dalo riešiť pred tlačou, alebo pred uložením
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call UpravitHlavicku("Hárok1", "C16")
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call UpravitHlavicku("Hárok1", "C16")
End Sub

Sub UpravitHlavicku(List As String, Bunka As String)
With Worksheets(List)
.PageSetup.LeftHeader = CStr(.Range(Bunka))
End With
End Sub

prípadne pri Workbook_Open() alebo Worksheet_Activate().

Riešenie hry Block Puzzle

Premazávam disk a našiel som omylom niečo, čo som robil kedysi pre manželku, a už dávno som to sem chcel dať. Je to už deviata verzia vzniklá 1/2016, ktorá vznikala neustálym prerábaním predošlých verzií (raz súradnicový systém - pole, potom lineárny - string ...), a tak je kód katastrofa. Radšej sa k nemu nepriznám 2 . Ale prerábať to nemienim, kafre naň pes, pretože funguje na 100 %. Neviem, čo by som s tým robil, a tak to dávam sem.

A čože to robí ? Rieši našu obľúbenú hru na mobile - Block Puzzle (a 100 iných názvov).

Ak Vás teda šľaktriafa pri tom, že Vám to nejde uložiť, nič to, za pár sekúnd máte vyriešené 5

img


Strana:  1 ... « předchozí  206 207 208 209 210 211 212 213 214   další » ... 302

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