Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  25 26 27 28 29 30 31 32 33   další » ... 38

Pokud to trochu zjednoduším, tak můžeme považovat value za objekt a value2 za hodnotu.

Používám value2 pro čtení i pro zápis (podle dat a potřeb, některé vlastnosti se nepřenášejí), po zápisu raději zkontroluji.
Je to o hodně rychlejší a pro větší data se práce vyplatí. Pokud použijeme v testu value2, dostaneme o dost jiný čas.


Sub test()
Dim t As Double
t = Evaluate("=NOW()")
Dim i As Byte
Dim a
Dim b

b = Selection.Value2
For i = 0 To 254
a = Application.Transpose(b)
Next i
Debug.Print WorksheetFunction.Text(Evaluate("=NOW()") - t, "m:ss.000")
End Sub

Pokud je to číslo tak třeba
=SVYHLEDAT(9E307;G:G;1)

Pokud text tak

=SVYHLEDAT("žžžžžžžžžžžž";G:G;1)

Nebo lze také upravit makro a nechat ho zpracovat jednotlivé sešity.

Trochu netradičně:

=WORKDAY.INTL(A1-1;1;"0111111")

první po nebo středa:
=WORKDAY.INTL(A1-1;1;"0101111")

...

Lze snadno doplnit o slovo "pracovní"

(V A1 je první den měsíce)

@123456

Pokud žádám o radu, tak si dám práci a napíšu co opravdu chci. Opakovaně jste byl upozorněn, naposledy od xlnc, že dotaz/požadavek není srozumitelný. A podle reakce, se mi to jeví tak, že jste opravdu při nejmenším dost nechápavý.

Pokud má být výstupem jedna řádka, tak použijte filtr na zdrojovou tabulku a máte to bez vzorců a maker.
Ale to také hádám.

Jednoduchá varianta - pomocný sloupec a třeba

=MOD(ŘÁDEK();10)

pak filtrem buď skrýt zbytečné řádky, nebo data zkopírovat jinam.

Pokud lze použít xy graf lze postup zozšířit:
Obvykle jsou zajímavá místa, kde se něco děje.
tj. třeba do dalšího sloupce

=KDYŽ(ABS(A11-PRŮMĚR(POSUN(A10;-9;0;10;1)))>2*SMODCH.P(POSUN(A10;-9;0;10;1));0;10)

- vloží 0 pokud akt. bod se významněji liší od předchozích 10 hodnot

V tomto případě je ale krok nestejný mezi body a je tedy vhodné použití xy grafu.

(doporučuji filtrovat hodnotu 0, pak se dá snadněji měnit počet vybraných položek a není třeba na tyto drobnosti myslet)

Neuvedl jste verzi. U mne (2010) při manuální aktualizaci excel tvrdí, že pokud je připojen průřez, tak zdroj nezmění.

Pokud takto, tak je potřeba znovu kt průřezu připojit.

Druhá varianta - vytvořte tabulku nebo pojmenujte dynamickou oblast a uveďte je jako zdroj. Potom refresh stačí.

Count je long tj. max číslo je 2147483647

Už dávno se používá

ActiveSheet.Cells.CountLarge což je variant.

Pokud jsou ve sloupci A hodnoty unikátní, vyberte sloupce A a B a podmíněným formátem označte duplicty.

Co není ve sloupci A vybarveno chybí ve sloupci B

Bez zjednodušení to nepůjde.

Zkuste použít aspoň procedury:

např. v Layout se pořád opakuje
If DataPrace.Zakazka01.Enabled = True And DataPrace.TbLinka01.Value = "" Then DataPrace.TbLinka01.Value = "WH RH"
If DataPrace.Zakazka02.Enabled = True And DataPrace.TbLinka02.Value = "" Then DataPrace.TbLinka02.Value = "WH RH"
...


Udělejte z toho proceduru, kde parametrem je potřebný text, celý kód bude čitelnější.

V DataPrace se pořád opakují stejné operace, zkuste procedury


sub Udelej(TbLinka as object, TbHodPrace as object, ...)
TbLinka.Value =c
TbLinka.Height = 50
...

end sub

pak v kódu

Udelej TbLinka02, TbHodPrace02,



Jednotlivé prvky můžete vložit do pole

Na začátku


Dim Zakazka(1 to 18) as object

Private Sub UserForm_Initialize()
set Zakazka(1)=Zakazka01
set Zakazka(2)=Zakazka02
set Zakazka(3)=Zakazka03
...

End Sub

for i =10 to ubound(Zakazka)
Zakazka(i).visible= true
next

Z legendy se to odstraní klávesou delete, tlačítka nahoře lze skrýt.

Zbývá zneviditelnit samotná data.

Možnosti:
- Zobrazit na vedlejší ose, vhodně nastavit rozsah a formát osy
- Změnit formát nepohodlné řady tak, aby zmizela (rozsah osy bude ale nutné nastavit ručně).
- Použít pomocnou proměnnou, která bude "malá". Např. "soucet nedostupnosti" / 1000
a třídit podle pomocné proměnné.

Tak tady je

A) ve sloupci A směs čísel a textů. Doporučuji sjednotit.
B) Hledaná hodnota je text. Ve funkci převést na typ, který bude ve sloupci A.
C) Funkce SVYHLEDAT bez 4. parametru předpokládá setříděný sloupec A. V tomto případě není, jen to tak vypadá. (Číslo je při porovnání menší než text.)

xlnc navrhuje vše opravit vzorcem, já bych spíše doporučil udělat pořádek v datech.

Nejvyšší hodnota, kterou lze vložit jako čas je 9999:59:59,9999

Pokud se zadá vyšší hodnota, je vložena jako text.

Nejvyšší hodnota času, kterou lze vložit pomocí funkce je 71003160:00:00,0. Tj. 31.12.9999 23:59:59, případně 2958465,999999.


Pokud budete zadávat jen hodiny:minuty (vloží se text) můžete to pro výpočet převést na čas vzorcem

=DOLLARDE(DOSADIT(A1;":";",");60)/24

Do H2:

=KDYŽ(JE.ČISLO(I2);COUNTIFS($I$2:$I$42;"<"&I2;$C$2:$C$42;C2)+1;I2)

Mrkni na "MZ-Tools for VBA 3.0"

Review Source Code hledá nepoužité promenné a nepoužitý kód.


Strana:  1 ... « předchozí  25 26 27 28 29 30 31 32 33   další » ... 38

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

Ř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

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

Tonda_Hu • 5.7. 21:17