excel vba 提示424错误“要求对象”?

'将文本框1中的字符转换为16进制后填写到文本框2种PrivateSubCommandButton1_Click()TextBox2.Text="'清空文本框2Dimtx... '将文本框1中的字符转换为16进制后填写到文本框2种
Private Sub CommandButton1_Click()
TextBox2.Text = "'清空文本框2
Dim txt1len As Integer
txt1len = Len(TextBox1.Text)'定义变量提取文本框1的字符长度
For x = 1 To txt1len
Dim arr1() As String'定义字符数组1用于存储文本框1的内容
Dim arr2() As String'定义字符数组2用于存储文本框2的内容
arr1(x) = Mid(TextBox.Text, x, 1)'提示424错误要求对象
arr2(x) = "\x" & Hex(Asc(arr1(x)))'提示下表越界
Next x
TextBox2.Text = arr2(x)'提示下表越界
End Sub
--------
在线等好人帮助,先谢过!
展开
 我来答
弗尔布雷斯
2013-04-13 · TA获得超过2763个赞
知道大有可为答主
回答量:2317
采纳率:66%
帮助的人:1026万
展开全部
你这个的
arr1(x) = Mid(TextBox.Text, x, 1)'提示424错误要求对象

你整个程序中并没有TextBox名称的控件,所以肯定会出错,还有你的数组只声明了,并没有给定范围并且你
TextBox2.Text = arr2(x)'提示下表越界
这句在for循环外,此时 x 的值已经是 txt1len+1的值了,而你数组arr2()只给到了txt1len肯定会提示越界的。
由于不太清楚你的意图,你看看下边这个更改后的代码是否符合你的要求吧。

Private Sub CommandButton1_Click()
TextBox2.Text = "" '清空文本框2
Dim txt1len As Integer
Dim arr1() As String '定义字符数组1用于存储文本框1的内容
Dim arr2() As String '定义字符数组2用于存储文本框2的内容
txt1len = Len(TextBox1.Text) '定义变量提取文本框1的字符长度
ReDim arr1(txt1len) '给定数组1的范围
ReDim arr2(txt1len) '给定数组2的范围
For x = 1 To txt1len
arr1(x) = Mid(TextBox1.Text, x, 1)
arr2(x) = "\x" & Hex(Asc(arr1(x)))
TextBox2.Text = TextBox2.Text & arr2(x)
Next x
'TextBox2.Text = arr2(x) '由于不太清楚你的意图是什么所以这句你自己看看应该放到哪里吧 _
总之放到这里肯定不对,会提示越界,我暂时已经给注解掉了,并把这句改为 _
TextBox2.Text = TextBox2.Text & arr2(x)放到循环里了,你看看是不是你要的结果吧
End Sub
LarryLain
2013-04-14 · 超过74用户采纳过TA的回答
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:74.9万
展开全部
Private Sub CommandButton1_Click()
‘这里最好不用动态数组。如果你要记录每次输入输出的内容 可以在sheet.cell中记录过程
Dim Str1 As String'定义字符数组1用于存储文本框1的内容
Dim Str2 As String'定义字符数组2用于存储文本框2的内容
Dim txt1len As Integer
dim n,x as long
n=1
TextBox2.Text = "'清空文本框2

txt1len = Len(TextBox1.Text)'定义变量提取文本框1的字符长度
For x = 1 To txt1len
Str1= Mid(TextBox1.Text, x, 1)'提示424错误要求对象
Str2 = "\x" & Hex(Asc(Str1))'提示下表越界 (前面那个\x不太清楚什么意思。)
sheets(1).cells(n,"A")=str1
sheets(1).cells(n,"B")=str2
Next x
TextBox2.Text = arr2(x)'提示下表越界
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我的王是金闪闪4o
2013-04-13 · TA获得超过6700个赞
知道大有可为答主
回答量:7194
采纳率:42%
帮助的人:3327万
展开全部
这样可否?不是很清楚你的要求。

Private Sub CommandButton1_Click()
TextBox2.Text = "" '清空文本框2
Dim txt1len As Integer
Dim str1 As String, str2 As String
txt1len = Len(TextBox1.Value) '定义变量提取文本框1的字符长度
str2 = "\x"
For x = 1 To txt1len
str1 = Mid(TextBox1.Value, x, 1) '提示424错误要求对象
str2 = str2 & Hex(Asc(str1)) '提示下表越界
Next x
TextBox2.Value = str2 '提示下表越界
End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式