< návrat zpět

MS Excel


Téma: Zobrazení MsgBoxu po vyplnění buňky rss

Zaslal/a 16.11.2013 16:24

Zdravím...
Jak zadat do listu níže uvedený MsgBox aby se aktivoval pokud bude na řádku 73 vyplněna některá buňka od 2 sloupce do 10 sloupce. Problém bude na začátku Private Sub.... jelikož nevím jak podmínku aktivovat:-(
Private Sub Worksheet_Change( As Range)
If IsEmpty(Cells(73, 2)) = False And IsEmpty(Cells(73, 10)) = False Then
MsgBox "Toto je poslední položka kterou jde vložit!", vbInformation, "POZOR"
Exit Sub
End If
End Sub

Zaslat odpověď >

Strana:  1 2   další »
#016394
avatar
Ano, tu událost listu máš definovanou špatně.
Zbytek případně upřesni, vzhledem k tomu kódu to nedává smysl :-)... Chceš, aby to hodilo hlášku pouze v případě, kdy budou všechny buňky v daném rozmezí vyplněny?
P.

Ukázka zápisu události:
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
citovat
#016395
avatar
Ahoj, díky. Ano, pokud bude vyplněno tak se zobrazí hláška. Teď koukám, že událost již na listu je. Tak jsem zkoušel část kódu přidat kní, ale nějak tam tu podmínku nemohu zapracovat. Zde je celý kód:

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
'If Range("Autozobrazradky") Then
'Else
If Not Intersect(Target, Range("C26:L373")) Is Nothing Then

If Rows(Target.Row + 1).Hidden = False Then
Exit Sub
Else
Rows(Target.Row + 1).Hidden = False
End If

End If
Application.ScreenUpdating = True
Exit Sub

If IsEmpty(Cells(73, 2)) = False And IsEmpty(Cells(73, 10)) = False Then
MsgBox "Toto je poslední položka kterou jde vložit!", vbInformation, "POZOR"
Exit Sub
End If

End Sub
citovat
#016397
avatar
Zkus toto.
P.

Př.:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim radek As Integer
Dim hlaska As Boolean
Dim msg As Byte

hlaska = True

For radek = 2 To 10
If IsEmpty(Cells(73, radek)) = True Then hlaska = False
Next radek

If hlaska = True Then msg = MsgBox("Toto je poslední položka, kterou lze vložit!", vbInformation, "POZOR")

End Sub
citovat
#016398
avatar
Nefunguje. Zkoušel jsem za 'zbytek kódu a nechat tam jen ten tvůj, ale hláška se nezobrazí...citovat
#016399
avatar
Tak je to ok, změnil jsem hlaska = False na True a už to maká. Děkuji:-)citovat
#016400
avatar
No tak tudy cesta nevedla...sice se zobrazila hláška, ale zobrazovala se na každém řádku:-) Takže omluva, ale nejde to:-(citovat
#016401
avatar
If Application.WorksheetFunction.CountA(Range(Cells(73, 2), Cells(73, 10))) > 0 Then Msgbox "hlaska"citovat
#016403
avatar
Nevím jak je to možné, ale hláška reaguje na každý vyplněný řádek. Do posledního řešení jsem pouze doplnil celý text MsgBoxu. Tak snad jsem to nepo...

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.WorksheetFunction.CountA(Range(Cells(73, 2), Cells(73, 10))) > 0 Then MsgBox "Toto je poslední položka, kterou lze vložit!", vbInformation, "POZOR"
End Sub
citovat
#016404
avatar
Pokud nebude dělat neplechu to rozmezí Od do. Zkusil jsem teda zadat jen třetí sloupec, ale stejně se nemohu dopracovat žádaného výsledku.citovat
#016405
avatar
No já myslel, že to ostatní ti je už jasné.

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range(Cells(73, 2), Cells(73, 10)) Is Nothing Then Exit Sub

If Application.WorksheetFunction.CountA(Range(Cells(73, 2), Cells(73, 10))) > 0 Then MsgBox "Toto je poslední položka, kterou lze vložit!", vbInformation, "POZOR"

End Sub
citovat

Strana:  1 2   další »

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