Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  107 108 109 110 111 112 113 114 115   další » ... 140

Bo bug ;)

Přiznám se, že jsem vyhledával jen trochu, protože věřím, že jste hledal a nenašel. A to, že jsme nic nenašli naznačuje, že jste buď první, kdo to objevil, ale pravděpodobněji to nikdo neřešil.

Začátečník na to nenarazí, protože ještě nepoužívá UsedRange a když už, tak pravděpodobně ne ve spojení s xlThick.
Pokročilý na to nenarazí, protože nepoužívá UsedRange a když už, tak určitě ne ve spojení s xlThick.
Pochopil jsem, že jen zkoušíte. Ale je to o návycích - proto vám vytýkám ten Select, protože už byste ho neměl použít ani tenkrát, když si jen něco zkoušíte ;)
Pak byste totiž nejdříve udělal:
Dim r as range
Set r = ActiveSheet.UsedRange
'kód
r.SpecialCells...
protože víte, že UsedRange se během kódu může změnit (nejen z tohoto důvodu) a proto si ho nejdříve uložíte ;)
A pak byste na to nenarazil ;)))

;)

neopravím na SpecialCells, protože tady to nebude to pravé. Tady to konečně asi bude ten Set. Nebo mně napadá, že by šlo možná využít Autofilter+Pouze viditelné buňky (a bude to bez kódu), ale to by bylo třeba vidět data ;).
A budu rychlejší ;)))

Nevím, proč vymýšlet nějaké doplňky či dvojité lišty.
Klikněte na ty šipky pro výběr listu (vlevo dole vedle prvního ouška listu) pravým tlačítkem a vyjede vám seznam listů
Pokud dáte Další listy ... vyskočí dialog s listboxem a seznamem všech listů
Tedy integrovaná věc v excelu - není třeba nic vymýšlet.

@Opičák
nestudoval jsem ten kód, ale asi to nebude listbox v pravém slova smyslu ;)
Já bych na to šel takhle (ranní trénink na připomenutí pár věcí ;))) )

Asi jste na to přišel sám, ale xlThick rozšiřuje UsedRange nahoru a dolů. Dle mého názoru je to chybné chování, protože pokud by bylo chtěné (netuším proč by mělo být), tak by se oblast musela rozšiřovat i doleva a doprava.

Nicméně je pravda, že použití Cells a UsedRange (a ještě k tomu vaše oblíbené Select), tak jak jej v tom kódu požíváte se nedá označit jinak, než jako prasárna ;)

Cells - tady v žádném případě, v tu chvíli zbytečně pracujete se 17mld buněk, když vlastně chcete pracovat jen s 10!

UsedRange - používat jedině ve výjimečných případech, tady přesně vidíte proč. V tomto kódu by se dalo pouvažovat o nahrazení za Cells, protože chcete vymazat formátování v celém listu, na to UsedRange postačí.
Pokud vím s jakou oblastí pracuji, tak použiji přece ji a ne UsedRange.

Select - no fuj!!!

Ten dotaz je napsán poněkud nesrozumitelně, ale pokud jsem pochopil
ComboBox1.Style = fmStyleDropDownListdovolí vybrat pouze ze seznamu položek v CB

Ano - to je pravda, ale ty bychom asi nepotřebovali objektově orientovaný jazyk ;)
Když už ho máme a ty objekty s vlastnostmi a metodami tady jsou, tak je používejme ;)

A to by se měli začínající naučit, než získají špatné návyky ;))
Prostě stačí přemýšlet - když bych to dělal bez kódu, tak bych to udělal tak a tak. Mno a teď to jenom napsat.
;)

:))

mno to už jsme trochu mimo dotaz, ale pokud to potřebujete bez cyklu, tak se tady nabízí automatický filtr + pouze viditelné buňky
ale to jen v případě, že je chcete naplnit stejnou hodnotou nebo vzorcem
pokud mají mít různou hodnotu, taxe bez cyklu asi neobejdete

Mno nebudu dále trápit

pokud jsou to jen konstanty (všechny typy):SrchRngu.SpecialCells(xlCellTypeConstants).EntireRow.Delete

pokud jsou to jen vzorce (všechny typy):SrchRngu.SpecialCells(xlCellTypeFormulas).EntireRow.Delete

pokud chci všechny neprázdné buňky, tak to napíšu takto:Union(SrchRngu.SpecialCells(xlCellTypeConstants), SrchRngu.SpecialCells(xlCellTypeFormulas)).EntireRow.Delete

Jinak např. jen číselné a textové budou takto:
.SpecialCells(xlCellTypeConstants, xlNumbers + xlTextValues)

Mno jste blízko, ale není to ono

ale hledalo vyplněné buňka?

Tady už ani tak nejde o rychlost, ale o přehlednost a délku kódu.
Co se týče rychlosti - integrovaná věc bude vždy rychlejší než VBA

Už jsem to tu psal
Zkusím napovědět
CTRL+G

Ani Set není potřeba

Je to pořád dokola to samé - stačí trošku hledat

@Palooo, marjankaj
Taky byste už mohli zareagovat na to co tu sem tam píšu. :(
Proč cyklus.

Private Sub Worksheet_Change(ByVal Target As Range)
If Union(Range("D4:D2000"), Target).Address = Range("D4:D2000").Address Then
...
End If
End Sub

Mno já bych řekl, že žádný problém nenastane - názvy fcí se automaticky přeloží do angličtiny

jediné, co mně napadá, je formát
češi mají rok v některých verzích přeložený jako např. dd.mm.rrrr a slováci tipuju dd.mm.yyyy

je tu slováků dost - vytvořte nějaký testovací soubor s obsahem podobným tomu co chcete poslat a nechte si to ověřit tady

Nahrál jsem krátké video ;)

http://www.youtube.com/watch?v=fEN-aZPjdmU&feature=youtu.be


Strana:  1 ... « předchozí  107 108 109 110 111 112 113 114 115   další » ... 140

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