< návrat zpět

MS Excel


Téma: FIND - hledání více hodnot rss

Zaslal/a 25.4.2019 10:48

Dobré ráno,

dá se prosím hledání ve VBA nějak rozšířit o podmínku OR?

děkuji za inspiraci

Private Sub CommandButton14_Click()
With Sheets("wsNabidka").Range("A:A")
Set rng = .Find(What:="*supplier*" Or "*Lieferant*" Or "*dodavatel* or "*Fournisseur*", _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not rng Is Nothing Then

gama = rng.Row

Else

Exit Sub
End If
MsgBox gama
End With
End Sub

Zaslat odpověď >

#043243
elninoslov
To pomocou Find možné nieje. Použil by som InStr() v cykle nad poľom. Ak si nebudete vedieť rady, pozriem na to ak bude čas.

1. Ide iba o nájdenie prvej spĺňajúcej bunky ?
2. Počet parametrov je dynamický či statický ?
3. Parametre sa berú z premenných, alebo to chcete dostať do nejakej bunky pomocou UDF a parametre sú odkazy na bunky ?citovat
#043257
avatar
díky za ochotu

1.ano
2.statický
3.Hodnoty buněk (supplier, Lieferant atd.) jsou načítány z jiného listu pomocí rozbalovacího menu.

Nějak si to řešení pomocí InStr nedokážu představit 4citovat
#043262
elninoslov
Zatiaľ som urobil jeden príklad tak, že sa hľadané hodnoty proste iba pridávajú a uberajú počtom oddelených parametrov funkcie. Dalo by sa to prerobiť aj na oblasť hodnôt ako jeden parameter. Popis je v makre. Je tam príklad v makre "Priklad" aj ďalší na použitie ako UDF v liste.
Pozrite si popis, doplňte požiadavky, a najlepšie priložte aj prílohu.

Napr. neviem, čo to má vracať, ak nenájde nič, čo má urobiť pri chybe parametrov, pole horizontálne/vertikálne, čo ak bude oblasť viacoblastná (multiareas), ...
Příloha: zip43262_find_or-priklad-1.zip (17kB, staženo 24x)
citovat
#043272
elninoslov
Riešením by mohol byť aj takýto vzorec:
=IFERROR(MATCH(TRUE;MMULT(COUNTIF(OFFSET(OBLAST;ROW(OBLAST)-2;;1);TRANSPOSE("*"&HLADAJ&"*"));--(ROW(HLADAJ)>0))>0;0);"")

=IFERROR(POZVYHLEDAT(PRAVDA;SOUČIN.MATIC(COUNTIF(POSUN(OBLAST;ŘÁDEK(OBLAST)-2;;1);TRANSPOZICE("*"&HLADAJ&"*"));--(ŘÁDEK(HLADAJ)>0))>0;0);"")
Příloha: xlsx43272_find_or-vzorec.xlsx (11kB, staženo 28x)
citovat
#043275
avatar
Děkuji moc za inspiraci, problém vyřešen. 1citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje