VBA错误,我不知道原因,请告知
我正在尝试用VBA编程一个系统,可以将成员添加到excel中。现在很简单,我真的不明白为什么会出现这个错误。。。我已经编写了类似的sub和函数来将其他实体添加到我的数据库中,它们工作起来没有问题。。。但是,当我尝试添加一个新成员时,我会收到以下错误消息:应用程序定义错误或对象定义错误。这是代码,提前感谢任何能提供建议的人VBA错误,我不知道原因,请告知,vba,excel,Vba,Excel,我正在尝试用VBA编程一个系统,可以将成员添加到excel中。现在很简单,我真的不明白为什么会出现这个错误。。。我已经编写了类似的sub和函数来将其他实体添加到我的数据库中,它们工作起来没有问题。。。但是,当我尝试添加一个新成员时,我会收到以下错误消息:应用程序定义错误或对象定义错误。这是代码,提前感谢任何能提供建议的人 Sub Member_Sign_Up(MemberId As String) Dim FirstName As String Dim LastName As String Di
Sub Member_Sign_Up(MemberId As String)
Dim FirstName As String
Dim LastName As String
Dim PCode As String
Dim NumberOnLoan As String
Dim NextRM As Integer
With Range("A1:F1").Font
.Bold = True
End With
Worksheets("Members").Cells(1, 1) = "First Name" 'Set up the headings for the member fields
Worksheets("Members").Cells(1, 2) = "Last Name" 'Also set the font to bold
Worksheets("Members").Cells(1, 3) = "Post Code"
Worksheets("Members").Cells(1, 4) = "Number of Books on Loan"
Worksheets("Members").Cells(1, 5) = "Member ID"
Worksheets("Members").Cells(1, 6) = "Number of Members"
NextRM = Worksheets("Members").Cells(2, 6) + 2 'NextR is the next available row for new data (using the number of different Members to determine when the next free row is)
FirstName = InputBox("First Name?")
LastName = InputBox("Last Name?")
PCode = InputBox("Your Postcode (without spaces)?")
Worksheets("Members").Cells(2, 6) = Worksheets("Members").Cells(2, 6) + 1 'update the Members sheet "number of Members"
Worksheets("Members").Cells(NextRB, 1) = FirstName
Worksheets("Members").Cells(NextRB, 2) = LastName 'update the Members sheet
Worksheets("Members").Cells(NextRB, 3) = PCode
Worksheets("Members").Cells(NextRB, 5) = MemberId
End Sub
Sub Attempt_Sign_Up()
Dim i As Integer
Dim MemberId As String
MemberId = InputBox("Enter a prefered member ID, it must contain at least five letters and two numbers.")
If Not Check_Member_Exists(MemberId) Then 'And Check_MemberId_Valid(MemberId)
Member_Sign_Up (MemberId)
Else
MsgBox ("Member with ID " & MemberId & " is already taken or is not valid")
End If
End Sub
Function Check_Member_Exists(MemberId As String) As Boolean
Dim i As Integer
Dim Member_Found As Boolean
Member_Found = False 'Set Member_Found to false so that if it becomes true we know a member with that ID already exists
i = 0
Do 'Look through all the cells in Books worksheet with i as the index
i = i + 1
If Worksheets("Members").Cells(i, 6) = MemberId Then
Member_Found = True 'Check to see if we've found the ISBN
End If
Loop Until Member_Found Or i = Worksheets("Members").Cells(2, 6) + 2
Check_Member_Exists = Member_Found
End Function
更新成员工作表Members.CellsNextRB时,将变量NextRM的名称更改为NextRB,1=FirstName等,对我有效 +1并将Option Explicit添加到每个模块的顶部,或在VBA选项对话框中选择Require variable declaration以防止此类错误