Form预先启动一个不填充单元格的过程

时间:2015-02-07 12:00:24

标签: vba excel-vba stored-procedures excel

我已经编写了一个程序,该程序应该确定一些值,将它们输入特定的单元格并启动依赖于这些相同单元格的过程。

它工作了一次,但是那时proc开始表现得就像细胞是空的一样。

表单包含三个文本框(ratebox,amountbox,cfbox),以及一个组合框:

Private Sub CommandButton1_Click()

If ratebox.value = "" Or amountbox.value = "" Or numbercfbox.value = "" Or cfbox.value = "" _
Or Not IsNumeric(ratebox.value) Or Not IsNumeric(amountbox.value) Or Not IsNumeric(cfbox.value) Or Not IsNumeric(numbercfbox.value) Then
MsgBox "valeur"
Exit Sub
End If

Cells(3, 1) = ratebox.value / 100
Cells(3, 2) = amountbox.value

For i = 1 To numbercfbox.value
Cells(3, i + 2) = cfbox.value
Next

callproc_e1

Unload form_e1

End Sub

程序以:

开头
Sub e1s1()
rate = Cells(3, 1)
amount = Cells(3, 2)
numbercf = Cells(3, 3).End(xlToRight).column - 2
'MsgBox (rate & Chr(10) & amount & Chr(10) & numbercf)
ReDim cf(numbercf) As Double

我尝试在变量中注册框值并在启动程序之前在单元格中输入变量,但是没有用。 在启动程序之前,我已经为msgbox添加了所有值:

Cells(3, i + 2) = cfbox.value
Next

MsgBox (ratebox.value & Chr(10) & amountbox.value & Chr(10) & numbercfbox.value & Chr(10) & cfbox.value)

callproc_e1

当msgbox出现时,我可以看到值被写入单元格中,但程序仍然像这些单元格为空:numbercf是16382。

2 个答案:

答案 0 :(得分:0)

您的代码将填充活动工作簿的活动工作表中的单元格。如果有时失败,您应该使用以下行来指定工作表:

Sheets("Sheet1").Cells(3, 1) = ratebox.value / 100

答案 1 :(得分:0)

我终于找到了问题:在我的调用sub中,第一个操作是删除所有单元格。

感谢所有试图提供帮助的人。