Help! MsgBox and Prevent Save

  • Thread starter Thread starter nrage21
  • Start date Start date
N

nrage21

I have 3 textboxes lined up horizontally on a sheet... I have a cmd
button on the far right that loses the focus from the textboxes and
saves the workbook. See below....

'....loses focus of textboxes
Private Sub Commandbutton_Click()
Me.TxBName.Enabled = CBool(Me.TxBName.Value = "")
Me.TxBAddress.Enabled = CBool(Me.TxBAddress.Value = "")
Me.TxBCity.Enabled = CBool(Me.TxBCity.Value = "")
'....saves workbook
ActiveWorkbook.Save
End Sub

My question, how do I force the user to fill all textboxes. For example
an user completes the name and address textboxes but fails to complete
the city textbox... then he/she presses the cmd button... I want a
msgbox to pop up "complete all fields before booking" and would not let
him/her save the workbook. How do I accomplish this???
 
You are already checking if the textbox is empty. Use the same logic with
an IF statement to put up a msgbox, then exit the sub so the workbook is not
saved.
 
Hi,
Add following if statement :

if Me.TxBName.Enabled<>"" And Me.TxBAddress.Enabled<>"" And
Me.TxBCity.Enabled Then
Activeworkbook.Save
else
Msgbox "Please fill out all the fields"
end if
 
'....loses focus of textboxes
Private Sub Commandbutton_Click()
Me.TxBName.Enabled = CBool(Me.TxBName.Value = "")
Me.TxBAddress.Enabled = CBool(Me.TxBAddress.Value = "")
Me.TxBCity.Enabled = CBool(Me.TxBCity.Value = "")
if Me.TxBName.Enabled<>"" And Me.TxBAddress.Enabled<>"" And
Me.TxBCity.Enabled<>"" Then Activeworkbook.Save
else
Msgbox "Please fill out all the fields"
end if
End Sub

:( It doesn't work... what am I doing wrong??


- Larry -
VBA Amateur
 
Sorry, is my fault,

I just copied the lines without reading. should be like this :

if Me.TxBName<>"" And Me.TxBAddress<>"" And Me.TxBCity<>"" The
Activeworkbook.Sav
 
Hi,

If you have a statement after "then" on the same line, you don't nee
an "end if"

The correct syntax is as follows :

if Me.TxBName<>"" And Me.TxBAddress<>"" And Me.TxBCity<>"" Then
Activeworkbook.Save
else
msgbox
end i
 
Thanks Tolgag... you're the man... It's finally working

final code:

Private Sub CommandButton1_Click()
'....loses focus of textbox
Me.TextBox1.Enabled = CBool(Me.TextBox1.Value = "")
Me.TextBox2.Enabled = CBool(Me.TextBox2.Value = "")
Me.TextBox3.Enabled = CBool(Me.TextBox3.Value = "")
'....if user leaves a textbox blank triggers messagebox and sets focus
if user completes everything then locks textbox and saves. Nice Tolgag
If Me.TextBox1 <> "" And Me.TextBox2 <> "" And Me.TextBox3 <> "" Then
ActiveWorkbook.Save
Else
MsgBox "Unable to book"
Me.TextBox1.Enabled = True
Me.TextBox2.Enabled = True
Me.TextBox3.Enabled = True
End If
End Sub


:) nrage21 <= happy camper!
 
Back
Top