User form with VBA

  • Thread starter Thread starter mrvento
  • Start date Start date
M

mrvento

Hi All,

I am in need of some help!!!

I created a userform using VBA, however, my value seems to be incorrect. i
tried everything and nothing seems to work.

This is what I have:

Private Sub cmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet

Set ws = Worksheets("ECSProductionLog")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'check for a Name
If Trim(Me.txtName.Value) = "" Then <<<this is were my problems is>>>
Me.txtName.SetFocus
MsgBox "Please enter a name"
Exit Sub
End If

'copy the data to the database
ws.Cells(iRow, 9).Value = Me.txtName.Value
ws.Cells(iRow, 1).Value = Me.txtDailyProductionFrontEnd.Value
ws.Cells(iRow, 2).Value = Me.txtDailyProductionBackEnd.Value
ws.Cells(iRow, 3).Value = Me.txtMeeting.Value
ws.Cells(iRow, 4).Value = Me.txtHoliday.Value
ws.Cells(iRow, 5).Value = Me.txtVacation.Value
ws.Cells(iRow, 6).Value = Me.txtPersonal.Value
ws.Cells(iRow, 7).Value = Me.txtSick.Value
ws.Cells(iRow, 8).Value = Me.txtOther.Value


'clear the data
Me.txtName = ""
Me.txtDailyProductionFrontEnd.Value = ""
Me.txtDailyProductionBackEnd.Value = ""
Me.txtMeeting.Value = ""
Me.txtHoliday.Value = ""
Me.txtVacation.Value = ""
Me.txtPersonal.Value = ""
Me.txtSick.Value = ""
Me.txtOther.Value = ""
Me.txtName.SetFocus

End Sub
 
You say values seem to be incorrect, but then you point to a line that tests
whether the TRIM'med contents of a TextBox is the empty string. What exactly
is the problem?
 
hi
did it highlight txt.name? if so the vb couldn't find txt.name in it's
library. check and make sure it is spelled correctly.

Regards
FSt1
 
You should be using "Trim(Me.txtName.Text)" instead of "Trim(Me.txtName.Value)"
(.Value is applicable to Cells, not text boxes)
 
I don't think this will make a difference.

Neptune said:
You should be using "Trim(Me.txtName.Text)" instead of "Trim(Me.txtName.Value)"
(.Value is applicable to Cells, not text boxes)
 
If the name of the text box is spelt correctly, than maybe the problem is in
the rec ogntion of the user form that it lives on (it's hard to see where
else it could be ....). Try spelling it out explicitly instead of using "Me"
(e.g. try "MyForm.txtName.text").

Using "Me" certainly wouldn't work if the form that contains the target
textbox is not the Active one at the time.
 
Me doesn't refer to the userform that's "active". Me refers to the userform
that owns the code.

But I agree with you. I think the textbox belongs to the same userform as the
commandbutton that is associated with the code.

I'd look for typos in the name of the control or in the code.
 
Thanks that helped!!!

Now I am getting an error stating "Run-Tine error '9':
Subscript out of range

end or debug

on the "Set ws = Worksheets ("ECSProducitonLog")

UGGGG!!!!
 
I'd guess that you spelled production differently in the worksheet tab or in the
code.

You spelled production incorrectly in your code, but that doesn't matter if it
actually matched what you see in the worksheet tab.

That run-time error 9 says that they don't match.
Thanks that helped!!!

Now I am getting an error stating "Run-Tine error '9':
Subscript out of range

end or debug

on the "Set ws = Worksheets ("ECSProducitonLog")

UGGGG!!!!
 
Back
Top