Roman(13.1.2011 8:44)citovat#003741 
Toto to snad zvládne pozor jak máš datumy to je velmi nebezpečný typ pro srovnávání:
Sub Makro1()
'
Dim Message, Title, Default, MyValue, MyDate
Dim c As Object
Dim Počet As Integer
Počet = 0
Message = "Zadej vyhledávané datum "
Title = "Vyhledávání 5místných čísel dle datumu"
Default = Format(Now, "dd.mm.yyyy")
On Error Resume Next
Do
MyDate = CDate(InputBox(Message, Title, Default))
Loop While Not Err = 0
Message = "Zadej pětimístné číslo"
Default = 12345
Do
MyValue = InputBox(Message, Title, Default)
Loop While Not Len(MyValue) = 5
For Each List In Sheets
With List
With .Range("E1", .Cells(.Rows.Count, "E").End(3))
b = .Address
Set c = .Find(MyValue, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If CLng(c.Offset(0, -4)) = CLng(MyDate) Then Počet = Počet + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End With
Next List
Message = "Dne: " & MyDate & " bylo " & Počet & " případů čísla " & MyValue
MsgBox (Message)
End Sub
stres3d(14.1.2011 0:56)citovat#003755 
to tvoje makro je zacyklovany a nejde vypnout a nic nedela, datum je ve formatu 14.1.2011, cislo muze byt 4 i 5mistny
Pokusil jsem se o upravu v graf. podani
Private Sub CommandButton1_Click()
Dim MyValue, MyDate
Dim c As Object
Dim Počet As Integer
Počet = 0
MyDate = TextBox1.Text
MyValue = TextBox2.Text
On Error Resume Next
For Each List In Sheets
With List
With .Range("E1", .Cells(.Rows.Count, "E").End(3))
b = .Address
Set c = .Find(MyValue, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If CLng(c.Offset(0, -4)) = CLng(MyDate) Then Počet = Počet + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End With
Next List
Label3.Caption = Počet
End Sub
Roman(17.1.2011 10:58)citovat#003786 
V původním makru byl test na zadání data, pokud ho nezadáš ve správném formátu nic se nenajte, tys to opravil ve svém kodu:
MyDate = CDate(TextBox1.Text)
a test na délku zadaného čísla na pět znaků
Loop While Not Len(MyValue) = 5
pokud to opravíš na
Loop While Not (Len(MyValue) = 5 Or Len(MyValue) = 4)
tak bude cyklus testovat 5 a 4 znaky. Nevím, co jsi zadával ty když píšeš:
"to tvoje makro je zacyklovany a nejde vypnout a nic nedela" muselo vyždy čekat na tvé zadání a vypsovat, co chce. Jinak máme každý jiný VBA.
Já to dělal jen ilustrativně lze to programatorsky vyšperkovat.