2015-02-07 58 views
0

我已經編寫了一個應該確定某些值的過程,將它們輸入到特定單元格中並啓動依賴於這些單元格的過程。Form沒有事先填充單元格啓動程序

它曾經工作過一次,但後來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.

+0

可能值得在'Cells(x,y)'之後用'.Value'來給出'cells(x,y).value' – tospig 2015-02-07 12:07:14

+0

@tospig我試過了,numbercf仍然是16382 proc,這意味着細胞被視爲空的。我不知道它是否相關,但是當我添加.value時,它保持小寫,如Cells(x,y).value。 – bml5n0ahcs 2015-02-07 12:12:32

回答

0

您的代碼將填充活動工作簿的活動工作表中的單元格。

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

我已經在表單和模塊中完成了它,仍然是同樣的問題。 – bml5n0ahcs 2015-02-07 12:15:58

0

我終於找到問題:如果它有時會失敗,你應該像行指定該板在我的呼喚子,第一個動作是刪除所有單元格。

感謝所有試圖幫助的人。

+0

非常感謝沒有顯示相關的代碼。 – 2015-02-09 22:48:08