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.
Je to chyba v excelu.
Zkus makro:
Sub Makro()
Dim c As Range
Dim s As String
Columns("D:D").Select
Set c = Selection.Find(What:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False)
s = c.Address
If Not c Is Nothing Then
Do
c.Value = CDbl(Replace(c.Value, ".", "", compare:=vbBinaryCompare))
Set c = Selection.FindNext(c)
Loop Until c.Address = s
End If
End Sub
Mám pocit, že jsi se spletl. Tohle není úloha pro excel.
Přesuňte partnery ze stránky do řádku a nastavete pro ně stránkování po každé položce.
Nastavte opakování hlavičky při tisku.
Maticově:
=INDEX($B$3:$F$19;POZVYHLEDAT(A24;0+(ZLEVA(PROČISTIT($A$3:$A$19);NAJÍT(" ";PROČISTIT($A$3:$A$19))-1)));POZVYHLEDAT(B24;$B$2:$F$2))
Pokud by ve sloupci A nebyly na počátku textu mezery bylo by to jednodušší.
pokud je to číslo:
=SVYHLEDAT(9,9999999999E+307;A:A;1)
pokud je to text:
=SVYHLEDAT("žžžžžžžžžžžžžžž";A:A;1)
Tarran napsal/a:
V samotném excelu vlastně problém není, ani v něm nepotřebuji pracovat, nicméně po importu dat do zmíněného programu R nefunguje většina operací (počítám třeba průměry a program si z excelu místo čísel vezme data v částečně textové formě).
JD80 napsal/a:
Jak to udělat, aby excel vynechávat nulové sloupce a řádky.
a z toho poté vytvoří inverzní matici.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
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.