Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA错误,我不知道原因,请告知_Vba_Excel - Fatal编程技术网

VBA错误,我不知道原因,请告知

VBA错误,我不知道原因,请告知,vba,excel,Vba,Excel,我正在尝试用VBA编程一个系统,可以将成员添加到excel中。现在很简单,我真的不明白为什么会出现这个错误。。。我已经编写了类似的sub和函数来将其他实体添加到我的数据库中,它们工作起来没有问题。。。但是,当我尝试添加一个新成员时,我会收到以下错误消息:应用程序定义错误或对象定义错误。这是代码,提前感谢任何能提供建议的人 Sub Member_Sign_Up(MemberId As String) Dim FirstName As String Dim LastName As String Di

我正在尝试用VBA编程一个系统,可以将成员添加到excel中。现在很简单,我真的不明白为什么会出现这个错误。。。我已经编写了类似的sub和函数来将其他实体添加到我的数据库中,它们工作起来没有问题。。。但是,当我尝试添加一个新成员时,我会收到以下错误消息:应用程序定义错误或对象定义错误。这是代码,提前感谢任何能提供建议的人

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以防止此类错误