Příspěvky uživatele


< návrat zpět

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

Skúste toto.

PS: Prílohu XLSM musíte zabaliť do ZIP.

A zadávate určite Formula2 ?
Nemôžete tabuľku naformátovať ako Tabuľku (objekt) ? Potom sa Vám vzorce doplnia samé.
Ak priložíte nejakú anonymizovanú prílohu, skôr sa dočkáte riešenia.

To je kvôli novému spôsobu vyhodnocovania polí (matíc). Budete to musieť asi vkladať v EN verzii a do Formula2
Worksheets("Hárok1").Range("L6").Formula2 = "=TEXTJOIN(""; "",TRUE,IF(N6:AS6>0,N2:AS2,""""))"
EDIT: Kolega ma predbehol. Ja preferujem vždy EN vzorce.

Zaškrtnutie na to nemá vplyv. To sa dá testovať bez odškrtávania. Záleží na tom, či majú byť vo výsledku zaškrtnuté alebo nie. Testuje sa najskôr, či bunka obsahuje nejakú hodnotu a zároveň je to číslo, a ešte navyše nie je číslo zapísané vzorcom. Až potom sa bunka zmaže. Teraz je na konci Select pre ukážku, tak si tam po overení aktivujte ten ClearContents.
No a to zmazanie CheckBoxov si aktivujte v prípade potreby aktivovaním riadku
rB.Offset(0, 3).ClearContents
Sub Smazat()
Dim rB As Range, rDel As Range, i As Long, B()

Set rB = Worksheets("List1").Range("B2:B25")
B = rB.Value2

' rB.Offset(0, 3).ClearContents 'stačí zmazať stĺpec E, prázdna bunka je pre CheckBox ako FALSE/NEPRAVDA, ale v tomto prípade to asi netreba

For i = 1 To UBound(B, 1)
If LenB(B(i, 1)) <> 0 And IsNumeric(B(i, 1)) Then 'je niečo v bunke a zároveň je to číslo?
If Not rB.Cells(i).HasFormula Then 'a ešte k tomu to nie je vzorec
If rDel Is Nothing Then Set rDel = rB.Cells(i) Else Set rDel = Union(rDel, rB.Cells(i)) 'tak pridaj bunku do oblasti na zmazanie
End If
End If
Next i

If Not rDel Is Nothing Then rDel.Select 'ClearContents 'zmaž oblasť na zmazanie
End Sub

OK, dnes už na to prdím, ale zajtra to dorobím. Skúšal som ešte prerobiť to vyfarbovanie riadku/stĺpca z makro verzie, ktorá zruší Undo, na verziu s Podmieneným formátom. Neviem ale či to má zmysel, páč to Undo zruší iné makro tak či tak :(.

Každopádne mi teda ešte povedzte, či sa má do ComboBoxu načítať teda to čo je označené príznakom "B", alebo to čo je v reálnej tabuľke vyfiltrované. To sú 2 rozdielne prístupy k dátam. Teraz to mám vlastne hotové na to "B".

Z Vašej nezrozumiteľnej odpovede som vyrozumel toto:
-Odpovedám si sám, áno, formulár má slúžiť aj na úpravu už zaznamenaného záznamu, nielen na vloženie nového.
-Mne to "filtrovanie" funguje, ale môže nastať problém v iných verziách Office/VBA, že nevyhodnotí 1="1" tak, ako očakávate.
-Vy teda potrebujete hľadať záznam zo spodu, teda najnovší, a nie zvrchu najstarší.
-Bude potrebné ešte jedno tlačidlo na potvrdenie úpravy. Teraz "Ulož záznam" je na pridanie záznamu.

No tam je na úpravu vhodného podstatne viac. Ten formulár má slúžiť aj na zmenu už existujúceho záznamu? Alebo len pridanie nového? Akonáhle vidím, že máte filtrovacie tlačítka, nebude fungovať xlUp nájdenie posledného záznamu. Na to pozor, môžete si znehodnotiť dáta. MS postupne verziami zmenil a zneistil nájdenie posl. bunky cez xlUp, xlDown, aj pomocou Find metódy, ak sú filtrované riadky. Ešte ostáva UsedRange, ale tá u Vás dáva >1000 riadkov, čo nevadí, pretože môžete načítať komplet dáta listu do poľa a neskôr ich rýchlo načítať (namiesto načítania z jednotlivých buniek). Pole sa dá na začiatku zmenšiť. Prečo používať Me.Controls("lblmonth") a nie lblmonth??? Rovnako zbytočné je VBA.Day(), stačí Day().
Trochu sa Vám v tom pokutrem, a uvidím čo (a či) stihnem poslať...
Len dajte vedieť o tej úprave.

!!! Skúšajte to VÝHRADNE NA KÓPII nejakej časti z tých súborov !!!

Nakopírujte si ich do nejakého skúšobného adresára.
Loguje a ošetruje to spústu stavov. Použil som novú inštanciu Excelu, a je to oveľa rýchlejšie, ale pozor, ak by ste pri debugovaní ukončil makro, ostane inštancia visieť, a treba ju manuálne ukončiť v správcovi procesov.
Dajte vedieť.

Ak to vydrží do poobedia, spravím. Už to mám zväčša premyslené. Ešte domyslím logovanie (ide o úpravu súborov, log je dôležitý). Len čakám servisáka a musím si robiť nejakú prípravu tak nie je čas ...
Môže sa ten hľadaný text nachádzať v liste viackrát? Ak áno, treba kontrolovať/nahradiť všetky výskyty?

Do modulu ThisWorkbook (Tento_zošit) vložte:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With Worksheets("Hárok1")
.PageSetup.RightFooter = .Range("A3").Value
End With
End Sub

Ale v náhľadovom okne to ešte neuvidíte, až keď dáte tlačiť, tak sa kód vykoná.

Bezpečnejšie bude použiť Intersect, aby to odchytilo aj viacbunkovú zmenu.
If Not Intersect(Target, Range("A3")) Is Nothing Then Call tvojeMakro

Cez Custom UI Editor.

A čo to má robiť?

Ak globálna karta pre všetky súbory, tak vytvoriť vlastný doplnok XLAM. Cieľový súbor akcií bude ktorýkoľvek aktívny, a nemusí byť XLSM.

Ak lokálne iba pre daný súbor, tak iba ten upraviť v Custom UI. Cieľový súbor bude len ten s úpravou. Musí byť XLSM.

Musíte bližšie vysvetliť, čo chcete checkboxovať, a čo prepínať. Lebo musíte riešiť aj uchovávanie hodnoty (true/false checkbox-ov, prípadne index OptionButton-ov).

Pr.

Na akej verzii Office sa to bude prevádzkovať (kvôli pokročilým funkciám v novších verziách) ?
Mám muster s pomocou obyč funkcií, ale kvôli zložitosti nepokračujem, ak máte novší Office, použijem iné fnc.
Takže verzia?

A ešte upresnenie:
Vy hľadáte vždy jeden z 3 možných basic textov (nepoužívajme "slov", lebo "servisní paušál" nie je slovo) "oprava","opr.","servisní paušál" ?
Následne hľadáte, čo nastane skôr, či nejaké číslo, alebo 2. medzera?
Môže nastať situácia, keď bude nájdený basic text, ale nebude nájdená 2. medzera ani číslo na ním ? (teda výsledok pokračuje do konca obsahu)

Skúste skontrolovať systém, cez CMD:
DISM.exe /Online /Cleanup-image /Restorehealtha
sfc /scannow


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