Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  40 41 42 43 44 45 46 47 48   další » ... 289

=IF(C10="";"";SUMPRODUCT(1*NOT(ISERROR(FIND(C10;""&A2:A6)))))
=KDYŽ(C10="";"";SOUČIN.SKALÁRNÍ(1*NE(JE.CHYBHODN(NAJÍT(C10;""&A2:A6)))))

Včera som zabudol na verziu s filtrom, takže tu je:
=IF(C10="";"";SUMPRODUCT(1*SUBTOTAL(3;OFFSET(A2:A6;ROW(A2:A6)-2;;1))*NOT(ISERROR(FIND(C10;""&A2:A6)))))
=KDYŽ(C10="";"";SOUČIN.SKALÁRNÍ(1*SUBTOTAL(3;POSUN(A2:A6;ŘÁDEK(A2:A6)-2;;1))*NE(JE.CHYBHODN(NAJÍT(C10;""&A2:A6)))))

Ak bude čas urobím na to makro. Zatiaľ vyrobte výzor. Ako má ten výsledok vyzerať? Koľko tých trojriadkov na A4, aké vysoké jednotlivé riadky, aké medzery, aký ten úvodný nadpis, prípadné hlavičky (podľa toho bude počet na stránku). Podľa toho určím, či bude treba vložiť manuálne zlomy strán alebo nie (aby nelámalo stranu uprostred trojriadku). Takže priložte požadovaný výzor a makro riešenie bude One-Click.

A ešte otázka: Tie dáta do Excelu dostanete ako? Otvoríte nejaký Export z nejakého SW? Zodpovedá teda presne tomu prvému hárku z obrázku? Počet určujúci stĺpec bude A?

Koľko riadkov bude tých origo dát ? Ak nie veľa, dalo by sa navzorcovať niekoľko strán takýchto zostáv a vytlačiť si dáte iba koľko vidíte vyplnených strán. Ak ich bude veľa, tak použiť makro, čo to postupne obmení a zároveň poposiela rovno do tlačiarne. MAC nemám, takže ak sa bude nutné zisťovať zoznam tlačiarní a pod. tak nepomôžem, pretože u Win sa to zisťuje aj s portami cez Register, u MAC neviem.

Text ohraničujeme úvodzovkami. Úvodzovky sú teda riadiaci znak. Čo je v úvodzovkách, je text. Napr.
"abc"Zobrazí sa text, úvodzovky sa nezobrazia:
abcAle ak potrebujete, aby bol v texte zobrazený aj znak úvodzovky {"}
a"bcnemôžete iba napísať
"a"bc"ale ten znak úvodzoviek, ktorý má byť súčasťou zobrazeného textu, musí byť napísaný 2x, aby Excel vedel, že sa nejedná o riadiaci znak, ale signál, že daný 2x napísaný znak úvodzoviek je 1x zobrazený znak úvodzoviek
"a""bc"a zobrazí sa
a"bc

Funguje aj prvý variant čo Stlaker písal, len ak má obsahovať text aj úvodzovky, musia byť zduplikované
=CHOOSE(A1;".<span style=""color: #ffffff;"">Sklad 1</span></p>";".<span style=""color: #ffffff;"">Sklad 2</span></p>")
=ZVOLIT(A1;".<span style=""color: #ffffff;"">Sklad 1</span></p>";".<span style=""color: #ffffff;"">Sklad 2</span></p>")

Normálne to funguje. Dajte prílohu.

A ako vyzerajú tie listy? Majú rovnaké rozloženie dát na rovnakých miestach? Veď potom stačí iba označiť všetky pôvodné dáta, Ctrl+C, označiť prvú bunku týchto dát na tom druhom liste, pravý klik, vybrať Možnosti prilepenia - Formátovanie. Prípadne ukážte prílohu s tými 2 listami.

Pokusy robte výhradne na kópii súboru !!!

Tu máte úpravu, zisťuje si to aj formát, viď krátky popis v makre. Zadávate iba indexy stĺpcov, ostatné si to urobí (snáď správne 1 ).

Napr. takto ?

Momentálne mám Covid, a možno mi to nemyslí, ale nemôže tú exportovaciu Tabuľku vytvoriť ten PQ??? Veď to urobí z tých údajov, ktoré načítava to tej Tabuľky DataTab. Na skrytom liste, a makro urobí iba export toho skrytého listu do XLS. Či?

EDIT:
Príklad makrom ...

Logika makra s takouto možnosťou neráta. Udalosť zmeny volá makro s parametrami. Ide o to, že volané makro nevie na ktorom riadku sa zmena vykonáva, a naopak volacie makro nevie výsledok volaného makra (mohlo sa meno nenájsť a dátum nezapísať). Takže nie je možné ani do jednej časti len tak doplniť zápis do G.
Takže odporúčam buď :
a) zmeniť "MojeMakro" na funkciu s návratovou hodnotou, či bol zápis dátumu vykonaný korektne (meno sa našlo) a zápis do G vykonávať v "Worksheet_Change" na základe výsledku funkcie, alebo
b) odovzdávať makru "MojeMakro" buď
b.1) o jeden parameter "Cislo_Radku as long" navyše, alebo
b.2) jednému z parametrov "Objednal"/"Jmeno"/"Datum" zmeniť typ na Range

aby sa dal identifikovať riadok, ktorý sa rieši, a zapísať G v "MojeMakro"

Sub pokus()
Dim a_bunka_r As Long, c_sn As Long
Dim subor As String, cesta As String, oblast As String

a_bunka_r = 4
c_sn = 3
subor = "PokusSubor.xlsx"
cesta = "e:\Download\"
oblast = "DATA"

With List1.Cells(a_bunka_r, c_sn)
.Formula = "=VLOOKUP(B" & a_bunka_r & ",'" & cesta & subor & "'!" & oblast & ",21,FALSE)"
.Value = .Value
End With
End Sub

Tak napr. spojené pole a Application.Vlookup. Ak toho bude veľa, tak rýchlejšia bude kolekcia. Urobená obdobne - spojený kľúč. Prípadne namiesto IsEmpty() použiť asi rýchlejšie LenB()=0. Každopádne v prvom rade sa zbaviť "prázdnych" desaťtisícov riadkov.

"vlookup z jiného listu" - tým myslíte z iného zošitu, áno? A zatvoreného?
Príloha?
Sub pokus()
Dim a_bunka_r As Long, c_sn As Long
Dim subor As String, cesta As String, lst As String

a_bunka_r = 4
c_sn = 3
subor = "PokusSubor.xlsx"
cesta = "e:\Download\"
lst = "DATA"

With List1.Cells(a_bunka_r, c_sn)
.Formula = "=VLOOKUP(B" & a_bunka_r & ",'" & cesta & "[" & subor & "]" & lst & "'!B2:Z20,21,FALSE)"
.Value = .Value
End With
End Sub

Takže je medzi podmienkami operátor AND? A platí teda, že ak sa nájde prvá podmienka na 6 riadku, tak hľadanie pokračuje logicky až od 6. riadku pre druhú podmienku, a ak nájde 2. podmienku, tak pre tretiu začína hľadanie až od riadku s 2. podmienkou?
Inak šlo by to aj maticovým vzorcom
=INDEX(HNV!$B$3:$B$6;MATCH(1;(HNV!$O$3:$O$6=E5)*(HNV!$L$3:$L$6=C5)*(HNV!$Q$3:$Q$6=H5);0))
=INDEX(HNV!$B$3:$B$6;POZVYHLEDAT(1;(HNV!$O$3:$O$6=E5)*(HNV!$L$3:$L$6=C5)*(HNV!$Q$3:$Q$6=H5);0))


Strana:  1 ... « předchozí  40 41 42 43 44 45 46 47 48   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

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

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28