Adosssss
28.03.10,16:08
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 :-)
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 :-)
PaloPa
28.03.10,16:32
Cez makro nasledovne (výskyt mena cez nápočet pomocnej premennej i):
Sub Makro()
Dim i As Integer
Dim xRng As Range
Set xRng = Selection 'resp. Range("C3:G9")
y = InputBox("Zadejte příjmení")
For Each x In xRng
If x = y Then
i = i + 1
End If
Next
MsgBox _
"Meno '" & y & vbCrLf & _
"v oblasti '" & xRng.Address & vbCrLf & _
"sa vyskytuje '" & CStr(i) & "' krát."
End Sub
Ale dá sa to i jednoduchšie, bez makra, funkciou:
=COUNTIF(C3:G9;"Hak")
alebo cez array funkciu:
{=SUM(IF(C3:G9="Hak";1))}
Sub Makro()
Dim i As Integer
Dim xRng As Range
Set xRng = Selection 'resp. Range("C3:G9")
y = InputBox("Zadejte příjmení")
For Each x In xRng
If x = y Then
i = i + 1
End If
Next
MsgBox _
"Meno '" & y & vbCrLf & _
"v oblasti '" & xRng.Address & vbCrLf & _
"sa vyskytuje '" & CStr(i) & "' krát."
End Sub
Ale dá sa to i jednoduchšie, bez makra, funkciou:
=COUNTIF(C3:G9;"Hak")
alebo cez array funkciu:
{=SUM(IF(C3:G9="Hak";1))}
Adosssss
28.03.10,18:22
Díky, už jsem na to potom také přišel, obdobně. .