Předmět Autor Datum
Ano, je to možné. Musíš si nejprve otestovat, zda vyhledávací pole obsahuje číslo, pak budeš hledat…
Jan Fiala 30.08.2016 10:06
Jan Fiala
Aha, proč to řešíš pod jiným jménem v jiném vláknu? Už jsem Ti tam poslal fungující makro.
Machr55 30.08.2016 10:31
Machr55
To to je sešit bez makra bez makra. Protože nevím jak to makro k tomu přidat.
Etkin 30.08.2016 10:35
Etkin
Vytvoření nebo odstranění makra Přidání tlačítka a přiřazení makra v sešitu Stačí?
Machr55 30.08.2016 10:39
Machr55
Je to bez makra pouze vzorec. Je možné, aby podle vzoru v buňce B3 vyhledalo buď podle ID nebo Jména…
Etkin 30.08.2016 11:02
Etkin
No, podle mě Ti to funguje - když zadám ID, vyhledá to ID. Když ID vymažu a zadám jméno, vyhledá to…
Machr55 30.08.2016 11:22
Machr55
A vůbec - nechceš to řešit dohromady s tím makrem? Respektive prvně jeden způsob (třeba s makrem), p…
Machr55 30.08.2016 11:24
Machr55
Když do B3 zadám 1 prostě číslo tak to vyhledá, ale pokud zadám do stejné buňky jméno už to nevyhled…
LM 30.08.2016 11:35
LM
upravil jsem to s využitím funkce JE.ČÍSLO a kombinací podmínek logickou funkcí NEBO. Vzorec v B2 pa…
Machr55 30.08.2016 11:55
Machr55
Můžete to prosím upravit tak aby pokud je prázdná buňka to neukazovalo 0 jen prázdnou buňku.
LM 30.08.2016 12:32
LM
??? ... mi to funguje, když je B3 prázdná, nikde nulu nevidím: WSUk.
Machr55 30.08.2016 13:21
Machr55
Posílám obrázky. Dělá to nule.
LM 30.08.2016 13:42
LM
Aha, už rozumím. Pro příště - musíš napsat přesně, kde to co dělá nebo nedělá. Máš dvě možnosti: 1.…
Machr55 30.08.2016 13:54
Machr55
Pokud to udělám víše uvedeným vzorcem už to nejde vyhledat podle jména ale jen podle čísla.
LM 30.08.2016 16:00
LM
Dělám to také výše uvedeným vzorcem a funguje mi oboje vyhledávání: t0Lb. Asi jsi něco někam napsal…
Machr55 30.08.2016 16:09
Machr55
Díky udělal jsem to znova a jde to. Tak jak má.
LM 30.08.2016 16:32
LM
Ten stejný vzor, ale s makrem Makro je dobré vyhledává jak podle ID i Jména, ale pouze do 2 ID 3 už…
LM 30.08.2016 16:33
LM
OK. Ten další příspěvek s makrem smaž, necpi ho 2x do různejch témat - aneb nedělej v tom ještě větš…
Machr55 30.08.2016 16:35
Machr55
Makro funguje dobře. Akorát když to jméno napíšu malým písmem nevyhledá to musí se začáteční písmenu…
Etkin 30.08.2016 18:08
Etkin
Prosím pomozte se vzorem ještě s tím to. Moc Děkuji
LM 30.08.2016 21:52
LM
Chjo neviem ze co mas teraz este ale v tom makre je nejake If VyhlCo = WsData.Cells(AktRadek, VyhlSl…
MM.. 30.08.2016 22:14
MM..
A co sa tyka toho vyhladavania bez tlacitka tak uz ti bolo pisane v inom threade mas pouzit Workshee… poslední
MM.. 30.08.2016 22:29
MM..

Je to bez makra pouze vzorec.
Je možné, aby podle vzoru v buňce B3 vyhledalo buď podle ID nebo Jména a přijmení abych ručně zadal ID nebo to Jméno:
=IFERROR(KDYŽ(JE.PRÁZDNÉ(B3);INDEX(TabulkaData[ID] ;POZVYHLEDAT(D3;TabulkaData[Jméno a příjmení];0));B3);"") potřebuji to jen upravit víše uvedený vzorec bohužel nevím jak zkoušel jsem to a nic nefunguje.

upravil jsem to s využitím funkce JE.ČÍSLO a kombinací podmínek logickou funkcí NEBO. Vzorec v B2 pak vypadá takto (mě funguje):

=IFERROR(KDYŽ(NEBO(JE.PRÁZDNÉ(B3);NE(JE.ČISLO(B3))); INDEX(TabulkaData[ID];POZVYHLEDAT(B3;TabulkaData[Jméno a příjmení];0)); B3); "")

Aha, už rozumím. Pro příště - musíš napsat přesně, kde to co dělá nebo nedělá.
Máš dvě možnosti:
1. Obalit vzorce v buňkách C6 až P6 podmínkou:

=KDYŽ(IFERROR(SVYHLEDAT($B6;TabulkaData;SLOUPEC()-1;NEPRAVDA);"")=0; ""; IFERROR(SVYHLEDAT($B6;TabulkaData;SLOUPEC()-1;NEPRAVDA);""))

2. Nastavit formátování v Excelu tak, aby nuly nebyly vidět: Zobrazení nebo skrytí nulových hodnot (několik možných způsobů).

Ten stejný vzor, ale s makrem
Makro je dobré vyhledává jak podle ID i Jména, ale pouze do 2 ID 3 už to nenajde.
Potřebuji to hledat i dál ne jen do 2 v datech.
Pokud Počet fotek je uvedeno číslo vyhledá to i 10000 ale pokud Počet fotek není tak to nevyhledá nic ani ID 1 nebo 2.
Mělo to vyhledat a pokud v dané buňce není záznam tak buňka má byt prázdná ať už se jedná počet fotek nebo datum ....

Sub Makro2()

Dim WsData As Worksheet, WsVyhl As Worksheet
Dim VyhlCo As String
Dim VyhlKde As Integer, VyhlSloupec As Integer
Dim VyhlRadek As Integer, AktRadek As Integer
Dim PocetFotek As Integer

Application.ScreenUpdating = False
Set WsVyhl = ThisWorkbook.Worksheets("Vyhledávání")
Set WsData = ThisWorkbook.Worksheets("Data")
VyhlCo = WsVyhl.Range("D2") ' Vyhledat co
VyhlKde = WsVyhl.Range("D3") ' Vyhledat kde (0 = ID, 1 = JMÉNO)

VyhlRadek = 0 ' Předpokládám, že nic nenaleznu
PocetFotek = 0 ' Počet fotek vynuluji
AktRadek = 4 ' Aktuální řádek v datech
WsData.Activate
If VyhlKde = 0 Then ' Vyhledání v poli ID
VyhlSloupec = 2
Else ' Vyhledání v poli JMÉNO
VyhlSloupec = 4
End If
Do
If VyhlCo = WsData.Cells(AktRadek, VyhlSloupec).Value Then
VyhlRadek = AktRadek ' Našel jsem shodu na aktuálním řádku
PocetFotek = WsData.Cells(AktRadek, 10).Value
Exit Do ' Končím cyklus
End If
AktRadek = AktRadek + 1 ' Není shoda, jdu na další řádek
Loop While AktRadek < 10000 ' Opakuji až do řádku 10 000

If (VyhlRadek > 0) And (PocetFotek > 0) Then ' Našel jsem, počet fotek je nenulový
WsData.Range(Cells(VyhlRadek, 2), Cells(VyhlRadek, 16)).Select ' Vyberu řádek
Else ' Nenalezeno, vyberu první (prázdný) řádek
WsData.Range(Cells(1, 2), Cells(1, 16)).Select
End If
Selection.Copy ' Vybraný řádek zkopíruji na vyhledávací list
WsVyhl.Activate
WsVyhl.Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
WsVyhl.Range("D2").Select
Application.ScreenUpdating = True

End Sub

Makro funguje dobře.
Akorát
když to jméno napíšu malým písmem nevyhledá to musí se začáteční písmenu musí byt velké.
Dalo by seto upravit tak abych nemusel klikat na to Vyhledat! Zrovna to vyhledalo.
Popřípadě když zadám jméno a bude v seznamu 2x aby to vyhledalo obě.
Přeposílám vzor.

Třeba něco takového vzor Vz02 akorát se všemi mýma daty co je ve vzoru Vz01
Pokud tak můžu něco málo zaplatit.
Díky moc

Chjo neviem ze co mas teraz este ale v tom makre je nejake
If VyhlCo = WsData.Cells(AktRadek, VyhlSloupec).Value
a chces aby to nerozlisovalo pismena, tak si obe strany porovnavania prevedies na male alebo velke pismena predsa.
If UCase(VyhlCo) = Ucase(WsData.Cells(AktRadek, VyhlSloupec).Value)
preco si nedas to slovo do google jak som ti pisal v inej otazke?

A co sa tyka toho vyhladavania bez tlacitka tak uz ti bolo pisane v inom threade mas pouzit Worksheet_Change mas tam aj link s vysvetlenim, neviem preco si to neprecitas ani nezadas to slovo do google a necitas dalej ine najdene vysledky.

Ides do editora tych VBA makier (vraj alt+f11), poklikas na ten svoj prvy list (v lavom stlpci v editore makier kdesi vidis aj listy), lebo chces aby sa to spustalo pre zmeny v tom tvojom prvom liste, a tam potom do kodu pre ten list napises

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

Makro2() alebo sem skopiruj obsah toho makra

Application.EnableEvents = True
End Sub

Zpět do poradny Odpovědět na původní otázku Nahoru