Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  229 230 231 232 233 234 235 236 237   další » ... 289

Áno je to udalosť zošitu (nie listu):
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Máličko upravené od kolegu. Odporúčam, aby ste si nastavili v makre v procedúre listu Worksheet_BeforeDoubleClick, hodnotu Oblast tak, aby sa formulár neotváral úplne hocikde. Mohlo by to viesť k nechcenému otváraniu pri vstupe do akejkoľvek bunky. Teraz som nastavil reagovanie od A1:C100.

Ešte by som tam asi testoval, či stojíte v korektnej zdrojovej oblasti, a či je skok uskutočniteľný. A bez Selectu, za ktorý sa tu kameňuje 5
Sub HladajBunku()
Dim hledej, Najdene
If Not Intersect(ActiveCell, Range("A1:H10")) Is Nothing Then
hledej = ActiveCell
With Sheets("SUM1")
Set Najdene = .Cells.Find(What:=hledej, After:=.Cells(1), LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
End With
If Not Najdene Is Nothing Then Application.Goto Najdene, True
End If
End Sub

Určite by to šlo nejako odborne. Zatiaľ tu máte jeden MEGAvzorec. Ku skóre, či čo to je, pripočíta 1 ak má tým vzájomný zápas lepší. Počíta sa ale iba s prípadom, že bude skóre rovnaké u 2 týmov. Upravil som teda aj stĺpec s RANK na tento nový počet.
Čitateľnosť/upraviteľnosť takéhoto vzorca je ale prakticky nulová 7

dontom napsal/a:

...vidíte v tom vzorci nějakou chybu?

=SOUČIN.SKALÁRNÍ((MOD(SLOUPEC($N$4:$BFP$4);5)=0)*($N$4:$BFP$4))


Samozrejme. Stĺpec N nieje deliteľný 5, a nieje tam ošetrenie čísla/textu. Takže takto zráta každý 5-ty stĺpec daného riadku počnúc stĺpcom N:
=SUMPRODUCT((MOD(COLUMN($N$4:$BFP$4)+1;5)=0)*(ISNUMBER($N$4:$BFP$4));$N$4:$BFP$4)
=SOUČIN.SKALÁRNÍ((MOD(SLOUPEC($N$4:$BFP$4)+1;5)=0)*(JE.ČISLO($N$4:$BFP$4));$N$4:$BFP$4)


EDIT: A ak sa v tom každom 5-tom stĺpci nevyskytuje text (to nevadí, že v iných stĺpcoch v tom riadku text je), tak stačí:
=SUMPRODUCT((MOD(COLUMN($N$4:$BFP$4)+1;5)=0)*($N$4:$BFP$4))
=SOUČIN.SKALÁRNÍ((MOD(SLOUPEC($N$4:$BFP$4)+1;5)=0)*($N$4:$BFP$4))


Prvý krát som to totiž pochopil, že v zrátavaných dátach je aj text aj čísla. Každopádne, to je ten súbor, kde som Vám robil tie vzorce a formátovanie ?
http://wall.cz/index.php?m=topic&id=29903#post-29967
Tam je v PF vzorec napr.
=INDEX(TBL;TRUNC(COLUMN(D4)/4)*4+13)="NEZAPLACENO"
=INDEX(TBL;USEKNOUT(SLOUPEC(D4)/4)*4+13)="NEZAPLACENO"

Myslím, že to formátovanie Vám prestane korektne fungovať ak tam vložíte stĺpce. Tá kontrola je robená práve na deliteľnosť počtom stĺpcov skupiny. Keď to zmeníte - NOT WORK.

Veľmi podobný vzorec ako kolega nadomnou:
=IF(SUM(--ISNUMBER(FIND({"a.s";"r.o"};$A1)))>0;"Právnická osoba";"Fyzická osoba")
=IF(SUMA(--JE.ČISLO(NAJÍT({"a.s";"r.o"};$A1)))>0;"Právnická osoba";"Fyzická osoba")

Urobil som Vám také porovnanie niekoľkých spracovaní, 2 porovnávacie, a 3 spracované na námet eLCHa. Tá posledná sa mne páči najviac. Nielen, že nemá problém so znakmi (ani ostatné na námet eLCHa), ale je aj rýchla.

PS: Nejak sa mi nedarí do porovnávacích stringov pre metódy 2 a 3 pridať hentie "bazmekznaky" ani cez StrConv. Asi som už úplne vypatlaný. Dajte nejaký návrh, doplním ich tam.

@hard, Ak to je ešte aktual, tak pošlite prílohu.

EDIT: Naozaj neviem, o čo ide, ja kopírujem data do iného zošitu normálne. viď príloha.

Nedávno som posielal na iné fórum zaujímavý variant pre N-té slovo.
=TRIM(RIGHT(LEFT(SUBSTITUTE(B1;B2;REPT(" ";LEN(B1)));B3*LEN(B1));LEN(B1)))
=PROČISTIT(ZPRAVA(ZLEVA(DOSADIT(B1;B2;OPAKOVAT(" ";DÉLKA(B1)));B3*DÉLKA(B1));DÉLKA(B1)))

Od eLCHa samozrejme funguje tiež. Prihodil som ho do súboru s úpravou voliteľného oddeľovača.

Ak to bude vzorcami tak si overte či ten "jiný program" zožerie tie 0 (nuly) ktoré vzniknú ťahaním prázdnej bunky vzorcom. Ak nie tak vzorce upravte takto:
=IF('[Packing List.xlsm]LIST'!A9=0;"";'[Packing List.xlsm]LIST'!A9)
=KDYŽ('[Packing List.xlsm]LIST'!A9=0;"";'[Packing List.xlsm]LIST'!A9)


Ak to chcete makrom, tak by som nepoužil nahrávanie makra ale niečo takéto:
Sub Kopiruj()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Workbooks.Open Filename:=ThisWorkbook.Path & "\Data.xls"
.DisplayAlerts = True
With Workbooks("Data.xls")
.Worksheets("Data").Cells(2, 1).Resize(16, 6).Value = ThisWorkbook.Worksheets("LIST").Cells(9, 1).Resize(16, 6).Value
.Close SaveChanges:=True
End With
.ScreenUpdating = True
End With
End Sub


A načo tam máte zlúčené bunky, keď ich evidentne nepotrebujete ?

Presne tak, pozor na presný názov listu, Select, Aktivate a pod. Ale ak používate viac naraz otvorených zošitov, tak v makre pridajte pred ThisWorkbook.Worksheets(... pre istotu.
A najlepšie hodte nám do pľacu tie makrá a súbory...

No veď práve to je problém na ktorý som narazil a neviem ho rozlúsknuť (ak vôbec nejako pôjde). Chcel som použiť na prevod vloženie do pomocnej bunky ako FormulaLocal a prečítanie ako Formula, čím sa vzorec preloží a dá sa potom vypočítať cez EVALUATE. Lenže zmena inej bunky vo funkcii nefunguje. Funkcia môže meniť bunku iba v jedinom prípade, ak je volaná z procedúry. Ale priamo, akonáhle by bola táto fnc volaná z proc volanej z fnc, už to opäť nefunguje. Skúsil som vytvoriť aj Class, ktorá mala meniť bunku, v nádeji, že ak je to Class (Object) tak zdedí Range so všetkým. Akonáhle ale prebieha interná procedúra v triede tak na riadku kde má zapísať do bunky, to vyvolá okamžite Class_Terminate, a bez chybovej hlášky.

Zatiaľ jediné riešenie ma napadá spúšťať výpočet tlačítkom, to fungovať bude.
Alebo mať schovaný list s bunkami s rovnakými vzorcami ako vo formátovaní.
Alebo rovnaké kontrolné mechanizmy implementovať do UDF. Teda prepísať vzorce do VBA.

Tam môže byť veľa problémov. Najpravdepodobnejším môže byť jazyková mutácia Excelu, ďalším problémom môže byť konkrétny druh formátovania. Ja som robil iba jednoduchú verziu, lebo vidíte sám na cpearson, aké je to komplikované (a stále to nefunguje). Musíte sem dať reálnu prílohu, s reálnymi dátami a reálnym typom formátovania, ak nie, tak aspoň niekomu s CZ Excelom to pošlite mailom, lebo mne sa ďalší virtuál s CZ E teda nechce vytvárať (navyše som teraz pár dní chorý v posteli s málo výkonným bookom)...

A len zo srandy si dajte Breakpoint na
If Evaluate(Replace(FC.Formula1, ";", ",")) Then ColorCF = FC.Interior.Color: Exit For
označte FC.Formula1 kliknite pravým a Add Watch. V spodnom okne Watches v stĺpci Value 2x klik a označenú hodnotu nám sem skopírujte.

@eLCHa: ... červen/červenec... sakra to ma vôbec netrklo.

Prečo musíme mať furt smolu, a zrovna naše jazyky podporu mmm nemajú ... ale máme eLCHu, ešteže tak 1

No ako začať. Ako by ste si chceli dopĺňať všetky vzorce k novým klientom (riadkom) ? Kopírovať 1000 stĺpcov? Alebo nechať vypísaných 500 riadkov po 1000 stĺpcov s polmetrovými vzorcami, a 500 000 podmienených formátov ? Potom upravovať popridávané Podmienené formátovanie (vzniknuté pri kopírovaní)...

Neviem prečo ste mali Názov "DNES" za poslednou bunkou vpravo, kde zákonite pri rozšírení tabuľky (z predošlej prílohy to vyplýva, že môže dôjsť k rozšíreniu, lebo tam máte až rok 45) tento skrytý odkaz s bielym písmom prepíšete, a celá tabuľka prestáva fungovať. Mi trvalo kým som na to prišiel. Dal som ho rovno do Definovaného názvu.

To nieje šťastné riešenie. Pravdepodobne bude lepšie to previesť na Tabuľku, tá si vzorce, podmienené formátovanie, rozbaľovací zoznam, aj rozsahy doplní sama. Takto si pretiahnete v prípade potreby rozšírenia horné 2 riadky (štvorica stĺpcov) o koľko mesiacov potrebujete, potom pretiahnete posledné 4 stĺpce Tabuľky. Stále je tam ale komplikácia, že musíte doplniť do 1. riadku za posledný stĺpec ďalší mesiac (pretiahnuť poslednú bunku a zrušiť zlúčenie). Tak máte postavené tie komplikované vzorce, čo s tým. Inak Vám Tabuľka nebude fungovať.

Zdá sa Vám to po prečítaní komplikované, ale verte, že pridávanie stĺpcov je max na 30 sec.
No a pridávanie riadkov si rieši Tabuľka sama, len napíšete meno, a počkáte chvíľku kým doplní sama vzorce (do 1000 stĺpcov to chvíľu trvá).

Ten zeleno/červený ukazovateľ som Vám tam urobil inak, mrknite.
Máte tam 2 definované názvy "u" a "tu", oba majú chybnú hodnotu, zmazal som ich.
Odstránil som množstvo nepoužívaných riadkov a stĺpcov mimo tabuľky, čím sa značne zmenšila veľkosť súboru. Odstránil som prázdne makrá. Zarovnal som formátovanie v niektorých stĺpcoch.

Vaše prílohy sa od seba veľmi líšia, ďalšiu sa mi už kompletne premýšľať a prerábať asi nebude chcieť.

Pozrite sa na to, vyskúšajte...


Strana:  1 ... « předchozí  229 230 231 232 233 234 235 236 237   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