我在代码中找不到任何错误,但是“需要对象”错误不断出现。 有人可以帮忙吗我一直在这,试图修复它半小时,我仍然无法找到问题。任何帮助,将不胜感激。 谢谢!
Private Sub cmdCost_Click()
Dim strCost As Integer
Dim strFixedCost As Integer
Dim strResourceCost As Integer
Dim wksResources As Worksheet
Set wksResources = Application.Workbooks(1).Worksheets("Resources")
Set strFixedCost = 140
If cResources.Text = "" = False Then
If Val(tQuantity.Text) > 0 Then
wksResources.Select
wksResources.Range("B2").Select
Do Until ActiveCell.Value = cResources.Text
ActiveCell.Offset(1, 0).Select
Loop
Set strResourceCost = ActiveCell.Offset(0, 3).Value
Set strCost = strFixedCost + (Val(strResourceCost) * tQuantity)
MsgBox " The price is" & " $" + strCost, Buttons:=vbOKOnly, Title:="Cost"
Else
MsgBox " You have not chosen a quantity.", Buttons:=vbOKOnly, Title:="Cost"
End If
Else
MsgBox " You have not chosen a resource.", Buttons:=vbOKOnly, Title:="Cost"
End If
End Sub
答案 0 :(得分:0)
我可以看到您的代码存在一些问题: 1.您正在使用'Set'初始化strCost,strFixedCost& strResourceCost不是必需的。只需写下:
strFixedCost = 140
此外,您的第一个IF条件非常混乱。我想你正在检查cResources变量中是否存在值(你没有提到你获得cResources& tQuantity值的位置)。在这种情况下,您可以使用If Len(cResources) > 0 Then
当您将字符串与整数组合时,您的第一个msgbox会出现类型不匹配错误。
MsgBox“价格是”& “$”+ strCost,Buttons:= vbOKOnly,Title:=“Cost”
相反,您可以使用以下代码将strCost转换为字符串:
MsgBox " The price is" + " $" + CStr(strCost), Buttons:=vbOKOnly, Title:="Cost"