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
--------
在线等好人帮助,先谢过! 展开
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
--------
在线等好人帮助,先谢过! 展开
3个回答
展开全部
你这个的
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
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
展开全部
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
‘这里最好不用动态数组。如果你要记录每次输入输出的内容 可以在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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样可否?不是很清楚你的要求。
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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询