Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  238 239 240 241 242 243 244 245 246   další » ... 298

Vzorce sa v makre nakopírujú na potrebnú oblasť, to netreba ručne. Keby ste potrebovali helfnúť treba povedať, lebo to nieje dokončené, ale len taký nástrel. Napr počíta sa cca s rovnakou veľkosťou obr. a tak vedľa seba vojde iba zlúčená dvojica, ak by bola trojica, s tou sa zatiaľ opticky nepočíta Atď... Dá sa doriešiť všeličo, len treba čas.

Málokedy môže človek pomôcť takým kapacitám...

Áno, odkazy sú zbytočné, nie však popisy, a pravdepodobne nieje zbytočné ani to zlúčenie. Robil som to podľa listu "029 ideal".
Ešte by som to doplnil o zistenie maximálnej výšky obrázkov v rade, a podľa toho nastavoval ďalší riadok. No uvidíme čo na to Havran, zbytočne to dopredu prerábať sa m nechce :) .

Presne tak, preto som ich hneď na začiatku môjho kódu vyhodil.

A takto by to byť mohlo ?
Musia byť ale určité predpoklady:
-Názov listu treba poriešiť, ak sa bude meniť
-obrázky a linky MUSIA byť presne v takom poradí naindexované, na zdrojovom liste ako je to teraz v tomto, čiže vrchný musí mať index 1 atď
-Ak majú rovnaký "popis" považuje sa to za "zoskupenie" obrázkov
-popisy musia byť umiestnené od bunky A6
...

Áno máte pravdu, keď sa jedná o plnú bunku 32767 znakov a o zápis výsledku o tejto dĺžke do bunky, tak sú metódy 1 a 4 postavené na Vašom princípe pomalé (v posteli na starom booku C2D T6400 2,0 GHz) cca 19 s, ale posledná 5. (na rovnakom princípe ale cez EVALUATE) tak tá je ako blesk 1,1 s, a je o chlp rýchlejšia ako (porovnávacie) metódy 2 a 3 (1,5 s a 1,3 s).

Takže pod 32767 znakov rozhodne používať metódu 5. Nad tento počet znakov 3. (viď nižšie) doplnenú o "druhé kolo" - hľadanie kódu kompletného zoznamu bazmekznakov.

Škoda, že sa nedá dostať do tej 5. viac znakov.

------
Keď ale vynecháme zápis tejto ozruty do bunky, ale zapíšeme výsledok do stringu, tak na spomínanom pc sú výsledky úplne iné:
met. 1 : 18,242 s
met. 2 : 0,168 s
met. 3 : 0,003 s
met. 4 : 18,960 s
met. 5 : 0,390 s

Takže nad 32767 znakov je favorit 3. či už pri zápise do bunky alebo nie.

Týmto končím toto hrajkanie :)

Každopádne ďakujeme za výborný nápad s touto metódou.

Samozrejme, nieje problém. Tu sa ale asi výhody Collection nevyužijú (napr pridávanie, odoberanie prvkov). Preto iba jednoduché pole Typov. Aj tak nevieme, čo to presne je, a na čo to presne je.

EDIT: Inak vôbec sa mi nepozdáva premenná Ucet. Ak je to skutočne časť čísla bankového účtu, tak rozhodne nie Long, ale string.

To určite inak ako doprednými vzorcami, alebo makrom nepôjde.
Máte tam 30 riadkov so vzorcami (ďalšie iba pretiahnete v prípade potreby). PF Vám vyfarbí na červeno bunku A8, ak počet vzorcov nestačí na počet položiek. Kontrolovaná je oblasť na 100 položiek A8:A107.
A máte tam makro, ktoré vypíše hodnoty vedľa tejto vzorcovej časti, vždy keď označíte zelenú bunku (najskôr zmaže všetko od B8 dole).

To by som riešil asi cez vlastný Type:
Public Type TZaznam
Nazev As String
Ucet As Variant
End Type

Sub Test2()
Dim VZZ_nazev() As TZaznam, k As Byte, x As Byte, b As String, Ucet As Long

ReDim VZZ_nazev(3)
VZZ_nazev(0).Nazev = "vyrobky": VZZ_nazev(0).Ucet = Array(601000, 601001, 601002, 601010, 611300)
VZZ_nazev(1).Nazev = "sluzby": VZZ_nazev(1).Ucet = Array(501515, 501640)
VZZ_nazev(2).Nazev = "tzbozi"
VZZ_nazev(3).Nazev = "nzbozi"

Ucet = 601000
For k = 0 To UBound(VZZ_nazev)
If IsArray(VZZ_nazev(k).Ucet) Then
For x = 0 To UBound(VZZ_nazev(k).Ucet)
If Ucet = VZZ_nazev(k).Ucet(x) Then
b = "OK"
End If
Next x
End If
Next k
End Sub

Presne tak, iba R1C1. Tiež som to riešil včera tu (5. metóda):
http://wall.cz/index.php?m=topic&id=29155&page=2#post-30230
Ale vo Vašom prípade netuším prečo to musí byť makrom. Urobte si definíciu názvu Cargo:
=Cargo!$AB$1:INDEX(Cargo!$AB:$AB;COUNTA(Cargo!$AB:$AB)+1)
Veď Vy to tak defacto aj máte, lebo v AB25 máte počtový vzorec, len to zbytočne preháňate cez makro. AB25 zmažte, a nechajte si len vzorec, ktorý som uviedol, alebo ak viete, že neprekročíte napr. 25 riadkov, tak počítanie obmedzte takto:
=Cargo!$AB$1:INDEX(Cargo!$AB$1:$AB$25;COUNTA(Cargo!$AB$1:$AB$25)+1)

EDIT:
Upravil som Vám tie makrá. Oblasť mien je nastavená na 20 riadkov. Viď príloha. Ale netuším, čo majú robiť niektoré makrá vo formulároch...

Takúto techniku som používal kedysi v Delphi, už som na to aj zabudol. Pripomenul ste mi to, ďakujem.

Á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.


Strana:  1 ... « předchozí  238 239 240 241 242 243 244 245 246   další » ... 298

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