EXCEL:opakované vyhledání v oblasti dat+návrat všech hodnot Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

birgis
nováček
Příspěvky: 36
Registrován: březen 11
Pohlaví: Muž
Stav:
Offline

EXCEL:opakované vyhledání v oblasti dat+návrat všech hodnot

Příspěvekod birgis » 12 zář 2014 22:17

Ahoj borci,

opět jsem tu s prosbou o radu:
mám data se sloupci

Jmeno, datum, Typ dokladu

a na jiném listu potřebuju do jedné buňky vrátit všechny nalezené typy dokladu , oddělené třeba čárkou (se stejným jménem a datem)

Ideálně bez maker (pokud to jde)
Moc díky za jakoukoukoli pomoc

Dotaz.xlsx
(10.7 KiB) Staženo 84 x

Reklama
guest
Pohlaví: Nespecifikováno

Re: EXCEL:opakované vyhledání v oblasti dat+návrat všech hod

Příspěvekod guest » 15 zář 2014 23:53

Bez maker v jedné buňce dle mého názoru nelze rozumně uskutečnit.

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: EXCEL:opakované vyhledání v oblasti dat+návrat všech hod  Vyřešeno

Příspěvekod Azuzula » 16 zář 2014 10:53

Někde jsem zahlédla maticový vzorec, který dokáže vyhledat několik stejných textových výsledků, ale už nevím kde to bylo a nedaří se mi to nikde najít.

Možná někdo znalý matic poradí jak to udělat.
A kdyby ne:
Před pár lety jsem si napsala svoji funkci která tenhle požadavek dokáže snadno vyřešit. Bez povolených maker to ale nepůjde.

Kód: Vybrat vše

Function NajdiVice(Hledat As Variant, Oblast As Range, Prohledat_sloupek As Integer, Vzit_sloupek As Integer, Poradi As Integer) As Variant
' funkce na vyhledání položky v zadaném sloupci a v zadaném pořadí
' **** vysvětlivky ****
' Hledat = co hledat
' Oblast = oblast dat (tabulka) kde hledat a vybírat výsledky
' Prohledat_sloupek = číslo sloupce v oblasti dat který se má prohledat
' Vzit_sloupek = číslo sloupce ze kterého se bude brát výsledek hledání
' Poradi = pořadí výsledku který má najít
' ****

Dim a As Long, x As Integer
x = 1
With Oblast
    For a = 1 To .Rows.Count
        If .Cells(a, Prohledat_sloupek) = Hledat Then
            If x = Poradi Then
                NajdiVice = .Cells(a, Vzit_sloupek) 'vrací nalezenou hodnotu
                Exit Function
            Else
                x = x + 1 'počítadlo pořadí shody
            End If
        End If
    Next
End With
NajdiVice = CVErr(xlErrNA) 'vrátí chybu N/A když nenajde shodu
End Function

Funkce a vzorce viz příloha.
Přílohy
Dotaz.xlsm
(17.13 KiB) Staženo 517 x
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

birgis
nováček
Příspěvky: 36
Registrován: březen 11
Pohlaví: Muž
Stav:
Offline

Re: EXCEL:opakované vyhledání v oblasti dat+návrat všech hod

Příspěvekod birgis » 16 zář 2014 14:03

Ahoj, je to naprosto perfektní. A vlastně možná je to makrem i lepší. Nějaká matice by asi soubor dost zpomalila.

Moc děkuju za pomoc


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů