我制作了一张Sheet,我现在转换为UserForm,但我使用的VB代码不再有效,我会复制旧的代码和新的代码一直告诉我“找不到债务人”,任何帮助都会得到赞赏。
旧代码:
Sub Buy_Click()
Name = Worksheets("Purchase").Range("G19").Value
Amount = CSng(Worksheets("Purchase").Range("I19").Value)
Balance = CSng(Worksheets("Purchase").Range("J19").Value)
If Name = "" Then
MsgBox "Select Debtor"
Exit Sub
End If
DebtorRow = 1
Do
TempName = Worksheets("Debtor_list").Range("A" & DebtorRow).Value
If TempName = Name Then
DebtorBalance = CSng(Worksheets("Debtor_List").Range("B" & DebtorRow).Value)
Exit Do
End If
DebtorRow = DebtorRow + 1
Loop Until TempName = ""
If TempName = "" Then
MsgBox "Debtor not found"
Exit Sub
End If
Worksheets("Debtor_List").Range("B" & DebtorRow).Value = DebtorBalance - Amount
MsgBox "You have just Purchased " & Range("H19") & " For $" & Range("I19") & vbCrLf & "Your Account Balance is now: " & Range("J19")
Application.Goto Reference:="Purchase_Debtor"
Selection.ClearContents
Application.Goto Reference:="Purchase_Quantity"
Selection.ClearContents
Sheets("Menu").Select
End Sub
新守则:
Private Sub cmdBuy_Purchase_Click()
Purchase_Select_Debtor.Value = Name
Purchase_Select_Price.Value = Amount
Purchase_Select_Balance.Value = Balance
If Name = "" Then
MsgBox "Select Debtor"
Exit Sub
End If
DebtorRow = 1
Do
TempName = Worksheets("Debtor_list").Range("A" & DebtorRow).Value
If TempName = Name Then
DebtorBalance = CSng(Worksheets("Debtor_List").Range("B" & DebtorRow).Value)
Exit Do
End If
DebtorRow = DebtorRow + 1
Loop Until TempName = ""
If TempName = "" Then
MsgBox "Debtor not found"
Exit Sub
End If
Worksheets("Debtor_List").Range("B" & DebtorRow).Value = DebtorBalance - Amount
MsgBox "You have just Purchased " & Amount & " For $" & Amount & vbCrLf & "Your Account Balance is now: " & Balance
End Sub
另一个代码我用于具有相同问题的不同UserForm;
旧代码:
Sub Pay_Click()
Name = Worksheets("pay_balance").Range("F18").Value
Amount = CSng(Worksheets("pay_balance").Range("G18").Value)
If Name = "" Then
MsgBox "Select Debtor"
Exit Sub
End If
DebtorRow = 1
Do
TempName = Worksheets("Debtor_list").Range("A" & DebtorRow).Value
If TempName = Name Then
DebtorBalance = CSng(Worksheets("Debtor_List").Range("B" & DebtorRow).Value)
Exit Do
End If
DebtorRow = DebtorRow + 1
Loop Until TempName = ""
If TempName = "" Then
MsgBox "Debtor not found"
Exit Sub
End If
Worksheets("Debtor_List").Range("B" & DebtorRow).Value = DebtorBalance + Amount
MsgBox "You have just Credited $" & Range("G18") & vbCrLf & "Your Account Balance is now: " & Range("H18")
Application.Goto Reference:="Creditbox"
Selection.ClearContents
Application.Goto Reference:="Balance_Debtor"
Selection.ClearContents
Sheets("Menu").Select
End Sub
新守则:
Private Sub cmdPay_Balance_Click()
Pay_Balance_Balance.Value = Name
Pay_Balance_Credit.Value = Amount
If Name = "" Then
MsgBox "Select Debtor"
Exit Sub
End If
DebtorRow = 1
Do
TempName = Worksheets("Debtor_list").Range("A" & DebtorRow).Value
If TempName = Name Then
DebtorBalance = CSng(Worksheets("Debtor_List").Range("B" & DebtorRow).Value)
Exit Do
End If
DebtorRow = DebtorRow + 1
Loop Until TempName = ""
If TempName = "" Then
MsgBox "Debtor not found"
Exit Sub
End If
Worksheets("Debtor_List").Range("B" & DebtorRow).Value = DebtorBalance + Amount
MsgBox "You have just Credited $" & Amount & vbCrLf & "Your Account Balance is now: " & Name
End Sub
答案 0 :(得分:1)
Private Sub cmdBuy_Purchase_Click()
Debtor = Purchase_Select_Debtor.Value
Amount = CSng(txtPrice.Value)
Balance = CSng(txtBalance.Value)
If Debtor = "" Then
MsgBox "Select Debtor"
Exit Sub
End If
DebtorRow = 1
Do
TempDebtor = Worksheets("Debtor_list").Range("A" & DebtorRow).Value
If TempDebtor = Debtor Then
DebtorBalance = CSng(Worksheets("Debtor_List").Range("B" & DebtorRow).Value)
Exit Do
End If
DebtorRow = DebtorRow + 1
Loop Until TempDebtor = ""
If TempDebtor = "" Then
MsgBox "Debtor not found"
Exit Sub
End If
Worksheets("Debtor_List").Range("B" & DebtorRow).Value = DebtorBalance - Amount
Balance = Application.VLookup(Purchase_Select_Debtor.Value, Sheets("Debtor_list").Range("A2:B13"), 2, 0)
MsgBox "You have just Purchased " & Purchase_Select_Quantity.Value & " For $" & Amount & vbCrLf & "Your Account Balance is now: " & Balance
Unload FrmPurchase
End Sub
&安培;
Sub cmdPay_Balance_Click()
Debtor = Pay_Balance_Select_Debtor.Value
Amount = CSng(txtCredit.Value)
If Debtor = "" Then
MsgBox "Select Debtor"
Exit Sub
End If
DebtorRow = 1
Do
TempDebtor = Worksheets("Debtor_list").Range("A" & DebtorRow).Value
If TempDebtor = Debtor Then
DebtorBalance = CSng(Worksheets("Debtor_List").Range("B" & DebtorRow).Value)
Exit Do
End If
DebtorRow = DebtorRow + 1
Loop Until TempDebtor = ""
If TempDebtor = "" Then
MsgBox "Debtor not found"
Exit Sub
End If
Worksheets("Debtor_List").Range("B" & DebtorRow).Value = DebtorBalance + Amount
txtBalance.Value = Application.VLookup(Pay_Balance_Select_Debtor.Value, Sheets("Debtor_list").Range("A2:B13"), 2, 0)
MsgBox "You have just Credited $" & Amount & vbCrLf & "Your Account Balance is now: " & txtBalance
Unload frmPay_Balance
End Sub