我不断收到编译信息'没有'
我是新手,我无法看到一个问题,我有一个'With'后跟和'End with'。如果我删除结束,我得到一个if out out out if。
Private Sub Submitnewcustomer_Click()
Dim RowCount As Long
Dim ctl As Control
If Me.companynameinput.Value = "" Then
MsgBox "Please enter a Company Name.", vbExclamation, "Britannia Monitoring Systems"
Me.companynameinput.SetFocus
Exit Sub
End If
If Me.contactnameinput.Value = "" Then
MsgBox "Please enter a Contact Name.", vbExclamation, "Britannia Monitoring Systems"
Me.companynameinput.SetFocus
Exit Sub
End If
If Me.addressinput.Value = "" Then
MsgBox "Please enter an Address.", vbExclamation, "Britannia Monitoring Systems"
Me.companynameinput.SetFocus
Exit Sub
End If
If Me.Telphone1input.Value = "" Then
MsgBox "Please enter at least 1 phone Number.", vbExclamation, "Britannia Monitoring Systems"
Me.Telphone1input.SetFocus
Exit Sub
End If
If Me.email1input.Value = "" Then
MsgBox "Please enter at least 1 Email Address.", vbExclamation, "Britannia Monitoring Systems"
Me.email1input.SetFocus
End If
RowCount = Worksheets("Database").Range("A1").CurrentRegion.Rows.Count
With Worksheets("Database").Range("A1")
.Offset(RowCount, 0).Value = Me.companynameinput.Value
.Offset(RowCount, 1).Value = Me.contactnameinput.Value
.Offset(RowCount, 2).Value = Me.Telphone1input.Value
.Offset(RowCount, 3).Value = Me.telephone2input.Value
.Offset(RowCount, 4).Value = Me.email1input.Value
.Offset(RowCount, 5).Value = Me.email2input.Value
.Offset(RowCount, 6).Value = Me.email3input.Value
.Offset(RowCount, 7).Value = Me.email4input.Value
.Offset(RowCount, 8).Value = Me.addressinput.Value
.Offset(RowCount, 15).Value = Format(Now, "dd/mm/yyyy hh:nn:ss")
If Me.CheckBox1.Value = True Then
.Offset(RowCount, 12).Value = "Yes"
Else
.Offset(RowCount, 12).Value = "No"
If Me.CheckBox2.Value = True Then
.Offset(RowCount, 13).Value = "Yes"
Else
.Offset(RowCount, 13).Value = "No"
If Me.CheckBox3.Value = True Then
.Offset(RowCount, 14).Value = "Yes"
Else
.Offset(RowCount, 14).Value = "No"
End If
End With
For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then
ctl.Value = ""
ElseIf TypeName(ctl) = "CheckBox" Then
ctl.Value = False
End If
Next ctl
End Sub
我刚刚奋斗了30分钟,只是发布在这里
任何帮助都会非常感谢
答案 0 :(得分:2)
您在本节中遗漏了几个End Ifs。在代码编译正确之前,您需要对其进行排序。
If Me.CheckBox1.Value = True Then
.Offset(RowCount, 12).Value = "Yes"
Else
.Offset(RowCount, 12).Value = "No"
If Me.CheckBox2.Value = True Then
.Offset(RowCount, 13).Value = "Yes"
Else
.Offset(RowCount, 13).Value = "No"
If Me.CheckBox3.Value = True Then
.Offset(RowCount, 14).Value = "Yes"
Else
.Offset(RowCount, 14).Value = "No"
End If