2016-02-23 37 views
0

我有以下代碼,它將一些行復制到工作表中的不同點。目前,行數由用戶通過單元格值定義,但是我試圖改變爲使用文本框輸入值,而不是單元格。VBA文本框不返回輸入的值

我添加了一個消息框,檢查的文本框的值,但不管什麼號碼我進入它總是返回爲0

Dim NumofRows As Integer 

NumofRows = CInt(TextBox1) 

MsgBox (NumofRows) 

If NumofRows = 0 Then 
    NumofRows = 1 
End If 

Range("A500").End(xlUp).Offset(1).Select 
ActiveCell.Rows("1:" & NumofRows).EntireRow.Copy 
Range("A2").Select 
Selection.End(xlDown).Offset(1).EntireRow.Select 
Selection.Insert Shift:=xlDown 
Application.CutCopyMode = False 

文本框被稱爲TextBox1的。任何人都可以建議如何改正這一點?非常感謝。

+0

我最近回答了類似的問題:http://stackoverflow.com/questions/35461024/vba-excel-textbox1-assign-object-to-varaible/ 35461962#35461962 – Sobigen

+0

它是什麼類型的文本框,它在哪裏(工作表或用戶表單)? – Rory

+0

我發現問題@Sobigen,但是即使定義了仍然帶有「ActiveSheet.TextBoxes(」TextBox1「)」的工作表,它返回0.它是一個工作表中的獨立文本框。 –

回答

2

我想你在工作表上有一個文本框。 請嘗試這個辦法:比如你有「工作表Sheet1」

NumofRows = CInt(Sheets("Sheet1").TextBox1.Value)