Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  97 98 99 100 101 102 103 104 105   další » ... 289

Konkrétne na tomto príklade je vidieť, čo myslel pred rokmi elcha, keď písal, že sa na prevod nedá spoľahnúť. Pozrite si 3. stĺpec vo vyznačených riadkoch - Word nerozpozná text, a zmení ho na obrázok, aj keď v PDF-ku je to text!

"Potreba" úpravy PDF súborov je neskutočne rozšírený nešvar. Riešim to tak často, že si myslím, že aspoň 90% ľudí nepochopilo, že PDF je primárne určený ako finálny (!) produkt.

No ja neviem, 10 a viac rokov do šírky ? Ja by som to dal na výšku, a budete si môcť skryť nepotrebné (prázdne) mesiace. Prípadne najjednoduchšie je použiť filter ako spomína marjankaj.

No neviem. Laco to písal pred 3,5 rokmi ..., už to asi poriešil, no ak je riešenie, možno sa bude pozdávať aj niekomu inému...

"List4" je object vo VBA, teda meníme ho List4.Range("A1")... na ušku listu je ale napísané to, čo je v zátvorke, teda "My galaxy data", a tam meníme Worksheets("My galaxy data").Range("A1")...

Pr.

"v programu mazaní"
"při namazaní provede zápis"
Teda máte nejaký externý software?
Alebo máte už nejaké mazacie makro v zošite?
Ak áno, tak ho priložte.

Ale veď to píšem predsa v prevej vete. Treba vedieť čo presne sa má zisťovať. Pretože vlastnosti filtra majú rôzne hodnoty, podľa toho čo a ako je filtrované. Zaregistrujte sa a priložte reálnu prílohu. Ja som uviedol len príklad. Nebudem vytvárať makro pre všetky možné druhy filtrov, ktoré Excel pozná (číslo, text, dátum, farba písma, farba pozadia, obsahuje, začína na, neobsahuje, väčší medzi, menší, ...), aby ste si vybral čo potrebujete. 8

Tie 0 Vám zachová napr. takéto niečo:
=MID(A1;MATCH(TRUE;ISNUMBER(--(MID(A1;ROW(OFFSET($A$1;;;LEN(A1)));1)));0);SUM(1*ISNUMBER(--(MID(A1;ROW(OFFSET($A$1;;;LEN(A1)));1)))))
=ČÁST(A1;POZVYHLEDAT(PRAVDA;JE.ČISLO(--(ČÁST(A1;ŘÁDEK(POSUN($A$1;;;DÉLKA(A1)));1)));0);SUMA(1*JE.ČISLO(--(ČÁST(A1;ŘÁDEK(POSUN($A$1;;;DÉLKA(A1)));1)))))

alebo o niečo málo kratšie
=MID(A1;MIN(IFERROR(FIND({0;1;2;3;4;5;6;7;8;9};A1);FALSE));COUNT(1*MID(A1;ROW(OFFSET($A$1;;;LEN(A1)));1)))
=ČÁST(A1;MIN(IFERROR(NAJÍT({0;1;2;3;4;5;6;7;8;9};A1);NEPRAVDA));POČET(1*ČÁST(A1;ŘÁDEK(POSUN($A$1;;;DÉLKA(A1)));1)))

-textočíslo je v A1 (pozor výraz $A$1 nemeňte, to nieje odkaz na textočíslo)
-číslo v textočísle je spolu, nieje je rozdelené iným znakom (ani des. čiarkou)
-vzorec je to maticový, teda Ctrl+Shift+Enter
-ak hrozí, že v textočísle nebude žiadna číslica, tak si vzorec obalte ešte do
IFERROR(vzorec;"")

Určite odomykáte rovnaký list (pozor na ActiveSheet)? Ja to teraz skúšam a ide to tak ako chcete.

Ja myslím, že Vám tam chýba ešte aj posledný parameter:
=IFERROR(IF(MATCH(C3;$F$3:$F$134;FALSE)>0;"ANO");"není k dispozici")
=IFERROR(KDYŽ(POZVYHLEDAT(C3;$F$3:$F$134;NEPRAVDA)>0;"ANO");"není k dispozici")

prípadne môžete použiť aj
=IF(COUNTIF($F$3:$F$134;C3)=0;"není k dispozici";"ANO")
=KDYŽ(COUNTIF($F$3:$F$134;C3)=0;"není k dispozici";"ANO")

Iste, ale treba vedieť čo chcete zisťovať, a ako potom so zistenými údajmi naložiť (Criteria1, Criteria2, Operator, ...). Napr. filter nemusí byť predsa len jedna hodnota, ale pole, alebo farba, alebo rozsah, ...
Tu je príklad na hodnotu alebo pole hodnôt, ktoré vypíše do oblasti.
Sub VypisFiltrovanychPoloziek(Col As Range, Ret As Range)
Dim F(), R As Long

R = Ret.Parent.Cells(Rows.Count, Ret.Column).End(xlUp).Row - Ret.Row + 1
If R > 0 Then Ret.Resize(R).ClearContents

With Col.Parent.AutoFilter
With .Filters(Col.Column - (.Range.Column - 1))
If .On Then
If IsArray(.Criteria1) Then
Ret.Resize(UBound(.Criteria1)).Value = Application.Transpose(.Criteria1)
Else
Ret.Cells(1).Value = .Criteria1
End If
End If
End With
End With
End Sub


Sub pokus()
With ThisWorkbook
VypisFiltrovanychPoloziek .Worksheets("Hárok1").Range("g:g"), .Worksheets("Hárok2").Range("A1")
End With
End Sub

PS: Toto je zjednodušený príklad. Application.Transpose funguje len do počtu 32767 položiek, ak ich je viac, tak ich vypísať v cyklom preklopenom poli.

A ešte celá príloha.

Hmm, tak to je problém. Čo si tu tak pozerám rôzne PDF, tak samotná skladba Tag-ov v PDF je problematická, pretože je rôzna podľa verzie PDF (1.5, 1.6, 1.7 ...), obsahu (text, zmiešané, iba obrázok, vektor grafika,...), tvorcu (Word, CorelDraw, ...), oddeľovača Tag-ov a ukončovača skupiny Tag-ov (" ", "", NewLine, ">>",...). A navyše tento Pattern pripočíta aj výskyt "\Type \Pages", čo ale nieje "\Type \Page". Ďalej Tag "/Count" sa niekde rovnako nenachádza.
Múdre hlavy, čo s tým ? Žeby v makre nahradiť všetky Pages, medzery aj konce riadkov, a rozobrať cez Split(xStr "\Type \Pages") ? To bude pomalé, a výsledkom nie som si istý.

EDIT 16.4.2020 0:56 :
Stačí asi iba upraviť Pattern na:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyCellRange As Range
Set MyCellRange = Range("K3")

If Not Intersect(MyCellRange, Target) Is Nothing Then
Select Case MyCellRange.Value
Case 1: Call Macro1
Case 2: Call Macro2
End Select
End If
End Sub

Ak nechcete, aby sa vykonalo makro pri zmene 1->1 (teda rovnakej hodnoty), tak treba niekam ukladať starú hodnotu a porovnať. Napr. do nepoužívanej bunky, alebo na skrytý list, alebo použiť globálnu premennú v module. Viď príloha.

Mne to normálne funguje. Automatický prepočet máte zapnutý. Ak sa Vám teda objekt Tabuľka "Tabulka1" normálne zväčšuje, nevidím problém. Teda v prípade, že hľadáte dátum na poslednom vyplnenom riadku. Ak hľadáte najvyšší dátum, to je niečo iné, pretože dátumy tam môžete mať aj poprehadzované, zoradené opačne a pod.


Strana:  1 ... « předchozí  97 98 99 100 101 102 103 104 105   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

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

š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