Těch variant, jak to udělat, je více. Já bych to uělal takto:
Sub hledej()
Dim rngHledej As Range
Set rngHledej = Worksheets("cenik").Range("A:A").Find(ActiveCell.Text)
If Not rngHledej Is Nothing Then
Range("U" & ActiveCell.Row).Value = rngHledej.Offset(0, 2).Value
End If
End Sub
Jednotlivé tabulky si označím jako pojmenované oblasti: "_C150K" další "_C150KM" další dodavatel "_C250K" a "_C250KM" atd.
Mimochodem, jestli jsem dobře pochopil zadání, tak hodnoty ve sloupci L od řádku 10 máš v příkladu špatně.
=KDYŽ(A(O7="C1";H7=0,4;J7 = "50K";K7>=500);0,42;"")
Toto funguje na uvedném vzorku dat:=HODNOTA(DOSADIT(DOSADIT(B3;ZNAK(160);ZNAK(32));"CZK";""))
EDIT:
nebo=DOSADIT(DOSADIT(B3;ZNAK(160);ZNAK(32));"CZK";"")*1
Opět bez přílohy, takže netuším, jak vypadá původní verze desetinného čísla. Pro celá čísla se může použít třeba: =HODNOTA(DOSADIT(DOSADIT(A1;"_";"");"CZK";""))
A takhle?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A2")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
'Skryj řádky 101 to 125
If KeyCells.Value = 16 Then
Rows("101:125").EntireRow.Hidden = True
Else
Rows("101:125").EntireRow.Hidden = False
End If
End If
End Sub
Já bych použil funkci SVYHLEDAT.
Pokud se jedná o vzorec ve sloupci O, tak by mohlo stačit SVYHLEDAT.
=IFERROR(O2+SVYHLEDAT($E$2-ŘÁDEK()+2;$J$2:$M$6;4;1);"")
Proč nepřiložíte soubor s pomocnou tabulkou, které se chce te zbavit? Já jsem tedy z toho jelen. Ale možná se najde někdo, kdo to pochopil.
Umím to jen s pomocným sloupcem. V pomocném sloupci je rozdíl mezi zadaným datumem a prohledávánými datumy. Hledá se minimální kladné číslo.
Jedná se o maticový vzorec, který se ukončuje Ctrl+shift+Enter
=INDEX(F2:G6;POZVYHLEDAT(MIN(KDYŽ(G:G>=0;G:G));G2:G6;0);1) P.S. Nemá se vyhledat 1.1.2023, ale 1.2.2023
Něco jsem splichtil. Nejsou tam kontroly na existenci dat a listů.
Kliknout na číselník levou myší
vybrat: Formát ovládacího prvku
vybrat kartu: ovládací prvek
nastavit Propjení s buňkou: A1
případně upravit další hodnoty.
njn Musím dát občas o sobě vědět
A nemáš jiné řešení? Možná by to šlo i přes maticový vzorec, ale to mi nejde.
Třeba takto:=KDYŽ(DENTÝDNE(A3;2)=6;KDYŽ(DEN(A3)<=6;SUMA(POSUN(M3;-(DEN(A3)-1);-2):K3);SUMA(POSUN(M3;-6;-2):K3));0)
Sčítá odpracovanou dobu od soboty do předchozí neděle.
Vždyť ten list3 je pořád prázdný.
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.