< návrat zpět

MS Excel


Téma: VBA For Each rss

Zaslal/a 4.8.2017 19:32

Mam na hárku výpožičky makro :
Private Sub Worksheet_Activate()
Dim Name As Variant

For Each Name In Sheet2.Range("T8:T108")
If Name = CurrentUser Then
i = MsgBox("Chcete vložiť novú výpožičku?", vbYesNo, "Výpožička")

Select Case i
Case vbNo
Case vbYes
SendKeys "%N", False
ActiveSheet.ShowDataForm
End Select
Exit Sub
End If
Next Name
End Sub

CurrentUser je zadefinovaný názov jednej bunky.
Problém je, že keď je CurrentUser z oblasti G8:G108, tak mi tiež vybehne msg a to nechcem.

Vďaka za pomoc.

Zaslat odpověď >

#037141
avatar
Ahoj.
Šlo by poslat přílohu?citovat
#037142
elninoslov
Prečo to testujete po jednej bunke, keď nepotrebujete pozíciu danej bunky ? Použite
WorksheetFunction.CountIf
alebo
IsError(Application.Match)
alebo s pomocou On Error
WorksheetFunction.Match
Obdobne sa s tým pohrajte, ak chcete zistiť či je CurrentUser v T iba vtedy ak nieje v G.citovat
#037145
avatar
Príloha je tu.
Příloha: zip37145_data-form.zip (14kB, staženo 28x)
citovat
#037147
elninoslov
Private Sub Worksheet_Activate()
If WorksheetFunction.CountIf(Sheet2.Range("T8:T108"), [CurrentUser]) > 0 Then
If MsgBox("Chcete vložiť novú výpožičku?", vbYesNo, "Výpožička") = vbYes Then
SendKeys "%N", False
ActiveSheet.ShowDataForm
End If
End If
End Sub
citovat
#037151
avatar
Vdakacitovat

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