2016-04-21 79 views
1

我挣扎做什么,我相信这是一个简单的任务VBA文本框的值到范围

我有一个包含我希望被用作一个行数的参考数值的用户窗体上的一个文本框范围。

Sheets("Sheet1").Range("A" & TextBox1.Value).Select 

这失败,出现错误“选择范围类的方法失败”

如何将这些值转换成一个范围?

+0

你的代码,如果'TextBox1.Value'包含了一些应该工作。数字是字符串格式并不重要,因为无论如何,VBA都会将其转换为字符串以将其与“A”连接起来。因此,要么没有名称为“Sheet1”的工作表或“TextBox1.Value”不包含有效的正数(不带小数)。 – Ralph

+2

Sheet1是否处于活动状态?否则,代码将失败。 – Rory

+0

我指定先激活工作表,现在工作 - 这是一个漫长的一天 - 谢谢! –

回答

1

你应该看看使用错误处理这个

Sub Recut() 
Dim rng1 As Range 
If IsNumeric(textbox1.Value) Then 
    On Error Resume Next 
    Set rng1 = Sheets("Sheet1").Range("A" & textbox1.Value) 
    On Error GoTo 0 
    If rng1 Is Nothing Then MsgBox "A" & textbox1.Value & " is invalid" 
Else 
    MsgBox "Textbox does not contain a number" 
End If 
End Sub