Stránka 1 z 1

Makro pro zobrazení počtu výskytu určité hodnoty

Napsal: 28 bře 2010 17:01
od Ados
Zdravím vás lidi,
prosím vás budte tak hodní a poraďte mi jen s takovou maličkostí, která mi nejde.

Máte tabulku dejme tomu od A1 do F8 s jmény lidí
Pro představu načrtnu sem:

Středisko / Den Pondělí Úterý Středa Čtvrtek Pátek
A Hak Hak Janda Vach Nový
B Nový Nový Hak Flégl Král
C Janda Janda Dobrý Král Vach
D Dobrý Král Král Hak Hak
E Jiřička Starý Jiřička Janda Malý
F Král Flégl Flégl Malý Flégl
G Malý Malý Malý Jiřička Jiřička

1) Vyzve uživatele k zadání libovolného textového řetězce - příjmení (např. Hak)
2) Zjistí počet výskytů tohoto řetězce v tabulce (testuje vyplněnou oblast, která může být libovolně velká)
3) Zobrazí zjištěný výsledek

Já jsem se pokoušel to udělat takto ale nešlo to:

y = InputBox("Zadejte příjmení")
For Each x In Cells(1).CurrentRegion
If x = y Then
MsgBox (y)
' MsgBox (CInt(y))
End If
Next


Jednoduše, všechno funguje akorát to potřebuji nějak překonvertovat aby se v tom MsgBoxu ukázalo číslo, kolikrát je v té tabulce po zadání do InputBoxu to jméno, ovšem mě se pořád ukazuje jen to jméno. :o

Napište mi kdyžtak na mail: mladeznickaa@seznam.cz
Dokud na to nepříjdu, tak dneska neusnu :D ..
Děkuji všem :-)

// Změna názvu tématu z nic neříkajícího "MAKRO JEDNODUCHE - POMOC PROSIM"
// mike007

Re: MAKRO JEDNODUCHE - POMOC PROSIM

Napsal: 28 bře 2010 17:32
od Uziv00
No, já bych to zkusil přes další proměnnou třeba p.
na začátku bych dal p=0, a po then by bylo p=p+1
a zobrazil bych hodnotu p, což by byl počet rovnosti podmínek, čili počet výskytu jmen.

Re: MAKRO JEDNODUCHE - POMOC PROSIM

Napsal: 28 bře 2010 19:20
od Ados
Jasně já to chápu ale když tam bude např. pět jmen se stejným názvem tak se ukáže:
MsgBox 1
MsgBox 2
.
.
.
Prostě pětkrát MsgBox přičemž v každém to je postupně v prvním je 1, druhém je 2 atd.
Možná to nějak sečíst. Ale nevim právě.
Dám sem přílohu jak to vypadá a zkuste se na to někdo kouknout.
Má to jen 25 kb
http://uloz.to/4399762/m3.xls

díky moc ..

Re: MAKRO JEDNODUCHE - POMOC PROSIM

Napsal: 28 bře 2010 19:39
od Ados
Tak dobrý,
už jsem to vyřešil, díky moc :-)

Re: Makro pro zobrazení počtu výskytu určité hodnoty

Napsal: 29 bře 2010 15:45
od mike007
A můžeš prosím ostatním uvést jak jsi to vyřešil, ať tu nemáme dotaz bez řešení.
Díky.

Re: Makro pro zobrazení počtu výskytu určité hodnoty  Vyřešeno

Napsal: 29 bře 2010 17:54
od Ados
Takže řešení: šlo vlastně o to udělat aby se každým krokem, kterým projede cyklus For Each tabulku při nalezení zadaného jména do InputBoxu
přičetla k proměnné p +1. A následně MsgBox umístit až za If a For Each, jinak by se objevoval MsgBox pořád dokola s tím, že by se např. jméno vyskytovalo pětkrát, tak pětkrát MsgBox a postupně v každém 1,2,3,4,5. Tímto vám chci poděkovat, až budu zas něco řešit, rád se tu ukážu. Mějte sa ..

Sub Makro1()
' Makro1 Makro

Cells(1).CurrentRegion.Columns(1).Interior.ColorIndex = 10
y = InputBox("Zadejte příjmení, které chcete vyhledat")
p = 0
For Each x In Cells(1).CurrentRegion
If x = y Then
p = p + 1

End If
Next
MsgBox ("příjmení se v tabulce vyskytuje " & p & "krát")
End Sub