Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  148 149 150 151 152 153 154 155 156   další » ... 289

Tak to sa rozpíšte podstatne viac, presnejšie, a ukážte manuálne vytvorený príklad očakávaného výsledku.
Vidím, že podmienkou na zoradenie nieje iba najvyšší súčet "bak" hodnôt, ale ešte sú tam nejaké iné podmienky.

Ale už naposledy.

Tak skúste toho, či som to trafil, lebo mám v tých fotrovcoch a ratolestiach už fakt bordel 5

Skúste ešte toto, vzorec nedáva TRUE/FALSE (PRAVDA/NEPRAVDA), ale 0/1. Napadlo ma, či náhodou nieje pes zakopaný v CZ Exceli. Prípadne úplne od boku skúste v predposlednom riadku na konci zmeniť
Criteria1:=1
na niečo z tohto
Criteria1:="1"
Criteria1:="=1"


V predošlej verzii, kde je TRUE/FALSE tam skúste
Criteria1:="True"
Criteria1:="=True"
Criteria1:="=" & True

alebo úplnú sprostosť
Criteria1:="Pravda"
Criteria1:="=Pravda"


Dal som to aj do Office2007 na Win7x64 - bez problémov. Dokonca po úprave vzorca som to zfunkčnil aj na XP + Office2003 (bez TextBoxu a musel som upraviť vzorec, lebo Office 2003 nepozná IFERROR ani ActiveX TextBox [nie som si istý], ale makro presunuté do modulu bez zmeny funkčné).

Skutočne netuším ako pomôcť.

EDIT:
Pozrite ešte po "vykonaní" filtru napr. hodnoty 73063080, aké sú možnosti hodnôt vo filtry, keď kliknete na ikonku filtra v A2, a ktorá je zaškrtnutá.

Ak nepočítame Application.ScreenUpdating, tak má makro len 5 riadkov kódu, tak ho odkrokujte.

1. Najskôr odkryte stĺpec A
2. Skontrolujte, či máte povolené automatické počítanie vzorcov.
3. Manuálne úplne zrušte filter A2:H2
4. Zadajte prázdny TextBox
5. Manuálne cez F8 prejdite za riadok
Riadkov = Cells(1, 1).CurrentRegion.Rows.Count
a kurzor myši presuňte nad premennú Riadkov. Napíšte sem hodnotu.
6. Cez F8, prejdite za ďalší riadok, a napíšte hodnotu RiadkovA.
7. Napíšte či prejde kód za Then v riadku s podmienkou
If RiadkovA < Riadkov Then
8. Po prejdení na
If TextBox1.Text = "" Then
skontrolujte či sú vzorce v A od prvého až po posledný záznam. Ak je TextBox prázdny, všetky výsledky v A3:A6287 musia byť TRUE/PRAVDA.
9. Kód nechajte dobehnúť a napíšte ako to dopadlo.
10. Urobte si BrakePoint na prvom riadku kódu
11. Zadajte do TextBoxu číslo 73063080 (naraz kopírovaním, nie písaním). Zopakujte kontroly a rovnako dajte vedieť výsledky krokov 5.-9.

Pozorne čítajte každý krok a každé slovo, a presne napíšte výsledky, ktoré som dotazoval. Inak fakt neviem, môj typ je zakázané prepočítanie vzorcov.

PS: inak v predposlednom riadku treba zmeniť číslo 7 na 8, ale to nemá podstatný vplyv na svoju funkciu rušenia filtra.

Ale ActiveX nepôjdu:
Sub ObjektyVoVybere()
Dim SH As Shape, R As Long, B As Long, L As Long, T As Long, Co As Integer, Ro As Long, SHL As Long, SHT As Long, SEL As String

If TypeName(Selection) <> "Range" Then Exit Sub
With Selection
Co = .Columns.Count: Ro = .Rows.Count
L = .Left: T = .Top: B = .Offset(Ro, 0).Top - 1: R = .Offset(0, Co).Left - 1
End With

With ThisWorkbook.ActiveSheet
For Each SH In .Shapes
With SH
SHL = .Left: SHT = .Top
If SHL >= L And SHL + .Width - 1 <= R And SHT >= T And SHT + .Height - 1 <= B Then SEL = SEL & IIf(SEL = "", "", vbCr) & .Name
End With
Next SH
End With

If SEL <> "" Then ActiveSheet.Shapes.Range(Split(SEL, vbCr)).Select
Set SH = Nothing
End Sub

U mňa to fičí presne podľa požiadaviek. Neviem prečo u Vás nie. Zablokované makrá? Nepovolené ActiveX prvky? Keď zapisujete do bunky (???) B2 ... máte tam vôbec nad ňou cez celú bunku B2 TextBox ? Samozrejme funguje to aj pri zápise do bunky. TextBox je tam na to, aby to robilo hneď po stlačení klávesy. Skúšate to presne na tom súbore, ktorý som poslal ako posledný? Dúfam, že ste to makro nenakopíroval do iného súboru. To nestačí, je tam vzorec v skrytom stĺpci A. Zmente hodnotu v B2, chodte do VBA, a manuálne spustite makro TextBox1_Change(). U mňa všetko funguje (Win10x64+ Office 2016x64 - všetko aktuálne)...
Odkryte si stĺpec A, a pozrite, či hodnoty ktoré majú byť zobrazené majú TRUE/PRAVDA v stĺpci A.

Napadol ma pomocný stĺpec.

1. na to presne som tam urobil ten list "text". Zaškrtnite to políčko "Zleva" a dajte znovu vyhľadať 7306. Ale hodnoty v stĺpci A musia byť ako TEXT, nie ako Číslo alebo Všeobecné.
2. To nieje v Excel bunke možné. Jedine cez malý TextBox, viď nový príklad (opäť list Text)
3. Nie, viď 1. a 2.

Nový príklad

Nejaký ten príklad:
-"čísla" list kde sú filtrované hodnoty číslo - filtrované makrom
-"čísla vzorec" list kde sú filtrované hodnoty číslo - filtrované vzorcom z prvého listu (treba myslieť na rozsahy)
-"text" list kde sú filtrované hodnoty text (možnosť voľby zľava, alebo celok) - filtrované makrom

Uveďte príklad, ako to má vyzerať. To akože do C budete zadávať hodnoty, a tieto hodnoty v C sa Podmieneným Formátom majú nahradiť za "-" v prípade ak v rovnakom riadku v D je hodnota menšia ako 200 ? Tie hodnoty v C ale stále budú, len budú zobrazené ako "-", všetky vzorce s nimi naďalej budú rátať. Otázka mi nedáva zmysel.
Formát buniek:
"-";"-";"-";"-"
Podmienené formátovanie vzorec:
=D4>=200
Podmienené formátovanie formát:
Všeobecné

Ak v tom C niečo počítate, a chcete tam výsledok iba ak je v D viac ako 200, tak formát buniek
0;-0;"-";@
a vzorec:
=IF(D4>=200;výpočet;0)

XLSM musí byť zabalené do ZIP, a nesmie prekročiť 256 KB. Ak to nestačí, použite GoogleDrive a pod...

Príklad. Ale s veľa "čo keď".
Napr. čo keď súbor neexistuje ? Vytvoriť z nejakej šablóny ?
Čo keď meno nieje na zozname mien, ktorých sa týka kopírovanie ?
Čo keď je už daný riadok skopírovaný ? Zmazať ho ? Nejako ho označiť ?
Čo keď je riadok nezmazaný, ale označený, tak ho ignorovať, aj keď v ňom prišlo k zmene ?
Čo ak je súbor s menom otvorení, zatvoriť ho ? (teraz ho zatvorí, ak sa o také meno jedná)
...

Dáva Vám ten popis zmysel ? Mne nie. Takže:

-Máte viac ako 50 mien, ale kopírovať riadky sa majú len ak sa objaví meno z úzkej skupiny 50 mien ? Ak sa objaví ine meno, tak nie ?

-Kopírovať sa musia bunky (formáty, orámovanie, farba a pod.) , alebo hodnoty (do prednaformátovaných stĺpcov) ?

-Majú stĺpce v liste "Hlavní" hlavičky ? Aj v "Hotovo" ?

EDIT 13:06 :
Príklad toho, čo z neúplného popisu vyplýva.

Pr.
Sub Test()
Dim time As Date
Dim limit_A As Date
Dim limit_B As Date

time = Now()

limit_A = Int(time) + TimeValue("02:50")
limit_B = Int(time) + TimeValue("01:30")

ActivePresentation.Slides(1).Shapes("1").TextFrame.TextRange.Text = IIf(limit_A > time And time > limit_B, "Ano", "Ne")

End Sub

Pohybujete sa na prelome dní, treba počítať aj s dátumom.


Strana:  1 ... « předchozí  148 149 150 151 152 153 154 155 156   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

Názvy z řádků do sloupců Power Query

lubo • 19.7. 12:24

vyhledání obsahu buňky

vfort • 18.7. 11:22

Názvy z řádků do sloupců Power Query

Alfan • 18.7. 10:01

Tlac 2 roznych tabuliek

loksik.lubos • 17.7. 20:43

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

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

Anonym • 12.7. 22:56