Vba 错误的参数数或无效的属性分配(错误450)Userform

Vba 错误的参数数或无效的属性分配(错误450)Userform,vba,excel,Vba,Excel,我已经创建了一个userform,填充了一个电子表格,我已经在enter按钮中添加了代码。 我一直收到错误450,请告知。我从以前使用过的代码中复制了这种格式,没有任何错误。唯一的新事物是第一个子段中的if-then语句 Private Sub cmdEnter_Click() On Error Resume Next If cmbcash.Value = "yes" Then Sheets(Sheet1).[a1].Value = frmInput.txtCa

我已经创建了一个userform,填充了一个电子表格,我已经在enter按钮中添加了代码。 我一直收到错误450,请告知。我从以前使用过的代码中复制了这种格式,没有任何错误。唯一的新事物是第一个子段中的if-then语句

    Private Sub cmdEnter_Click()
    On Error Resume Next

    If cmbcash.Value = "yes" Then
    Sheets(Sheet1).[a1].Value = frmInput.txtCash
    Sheets(Sheet1).[a2].Value = frmInput.txtCash
    Else
    Sheets(Sheet1).[a2].Value = frmInput.txtcash2
    If cmbstock.Value = "yes" Then
    Sheets(Sheet1).[b1].Value = frmInput.txtstock
    Sheets(Sheet1).[b2].Value = frmInput.txtstock
    Else
    Sheets(Sheet1).[b2].Value = frmInput.txtstock2
    If cmbdeposits.Value = "yes" Then
    Sheets(Sheet1).[c1].Value = frmInput.txtdeposits
    Sheets(Sheet1).[c2].Value = frmInput.txtdeposits
    Else
    Sheets(Sheet1).[c2].Value = frmInput.txtdeposits2
    End If

    Hide Me



    End Sub






    Private Sub UserForm_Initialize()

Dim x
Dim y

    y = Array("Transfer", "Don't Transfer", "Retirement at 75%")
    x = Array("Yes", "No")

    cmbcash.Value = " "
    cmbstock.Value = " "
    cmbdeposits.Value = " "

    cmbcash.List = x
    cmbstock.List = x
    cmbdeposits.List = x





    End Sub
每个If都需要一个End If。几乎可以肯定的是,下一步你应该删除错误恢复-修复你的错误,不要忽略它们,否则你会得到意想不到的结果

Private Sub cmdEnter_Click()

    If cmbcash.Value = "yes" Then
        Sheets(Sheet1).[a1].Value = frmInput.txtCash
        Sheets(Sheet1).[a2].Value = frmInput.txtCash
    Else
        Sheets(Sheet1).[a2].Value = frmInput.txtcash2
    END if
    If cmbstock.Value = "yes" Then
        Sheets(Sheet1).[b1].Value = frmInput.txtstock
        Sheets(Sheet1).[b2].Value = frmInput.txtstock
    Else
        Sheets(Sheet1).[b2].Value = frmInput.txtstock2
    END if
    If cmbdeposits.Value = "yes" Then
        Sheets(Sheet1).[c1].Value = frmInput.txtdeposits
        Sheets(Sheet1).[c2].Value = frmInput.txtdeposits
    Else
        Sheets(Sheet1).[c2].Value = frmInput.txtdeposits2
    End If

    Hide Me

    End Sub

CMB现金、CMB股票和CMB存款是什么?它们是组合框,有两个可用值,是和否。你说得对。戴夫,谢谢。我现在有另一个问题。即使我在组合框中选择了yes,程序仍在执行else函数。举例说明:c1正确填充,但c2为空。当我从txtcash中删除2时,它将填充两个单元格。