Excel VBA 下标越界

Sub value_input() ' 添加转换数据到sheet2
x = InputBox("总共有多少行数据?")
For i = 1 To x
ThisWorkbook.Worksheets("sheet2").Cells(i, 1) = Application.WorksheetFunction.Rept(0, 10 - Len(ThisWorkbook.Worksheets("sheet1").Cells(i, 1))) & ThisWorkbook.Worksheets("sheet1").Cells(i, 1)
ThisWorkbook.Worksheets("sheet2").Cells(i, 2) = ThisWorkbook.Worksheets("sheet1").Cells(i, 2)
ThisWorkbook.Worksheets("sheet2").Cells(i, 3) = Application.WorksheetFunction.Text(Hour(ThisWorkbook.Worksheets("sheet1").Cells(i, 3)), "00") & ":" & Application.WorksheetFunction.Text(Minute(ThisWorkbook.Worksheets("sheet1").Cells(i, 3)), "00") & ":" & "00"
Next i
End Sub

总是报下标越界,请告知是何原因?

在我机上问题xp+exl2003
如果你那还是有问题
用下面代码试试
Sub value_input() ' 添加转换数据到sheet2
x = InputBox("总共有多少行数据?")
For i = 1 To x
Sheets("sheet2").Cells(i, 1) = Right("0000000000" & Sheets("sheet1").Cells(i, 1), 10)
Sheets("sheet2").Cells(i, 2) = Sheets("Sheet1").Cells(i, 2)
Sheets("sheet2").Cells(i, 3) = Format(Sheets("sheet1").Cells(i, 3), "HH:MM:SS")
Next i
End Sub追问

用了你写的代码,但很奇怪还是报下标越界,我是win7+excel2010

追答

"Sheet1" 再对一下工作表名称,看有没有没错
我不是win7+excel2010的,不能在win7+excel2010测试

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-07
检查要执行代码的工作表标签是否是是sheet1;sheet2.如果不是改成对应的工作表标签。

vba在excel中的应用中,下标越界怎么回事
下标越界错误大概有以下的原因和解决方法:1.引用了不存在的数组元素。2.下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。

为什么在excel中用vba时会出现下标越界的提示?
简单的理解:下标越界就是引用超出了所在的范围。当我们在excel的VBA中输入下面代码,运行,就会出现“运行时错误9下标越界”的提示。代码如下:Sub a()Dim arr() As String arr(1) = "你好"End Sub 其实上面的“运行时错误9下标越界”是因为定义的动态数组没有确定维数和尺寸。定义成固定维数和尺寸...

Excel VBA下标越界的原因分析与解决方法
1.自定义数组:   dim arr1(1 to 5)   arr1(10)=555    因为arr1数组为1到5,这里却是10,所以就会报下标越界错误。2.系统自带的数组:   一个excel工作表表有3张Sheet    Sub 下标越界()&...

如何让VBA代码在excel工作表下标越界?
1、在SHEET表内设置好按钮,并指定到宏。2、在VBA编辑器内输入如下的代码。(此代码的含义为遍布区域内的单元格,如果为空格,则隐藏空格所在的整列。3、在运行过程中出现了问题,下标越界,无法运行。4、在代码中的“SHEET1”工作表根本没有,因为SHEET表的标签名称为“图表”,因此代码运行时找不到...

Excel 下标越界了,什么原因
解决方法很简单,只需在调试过程中将代码中"Sheet1"的部分替换为实际的"图表",再运行宏,就可以顺利避免下标越界问题了。尽管Excel作为一款强大的数据处理工具,其基础逻辑仍保留了早期VisiCalc的单元格结构,即数据和引用保存在行列的单元格中。因此,在编写与工作表相关操作的代码时,确保引用的准确是...

wps表格下标越界错误
1.下标越界错误,这个是vba里面的问题,主要指你输入的命令值已经超过了它的边界值,即最值(最大最小),这个要根据具体情况具体解决:举个例子:vba中个二维数组,arr(1 to 10,1 to 10),代表他可以储存arr(x,y) (注:x取值 1到10,y取值1到10.)100个数据(或者对象);如果你让x,y取...

excel下标越界是什么意思?
Excel提示下标越界是VBA程序运行的一个错误提示,原因有以下几个:1、引用了不存在的数组元素:下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。2、声明数组时没有指定元素的数目:引用了不存在的集合成员。3、使用速写形式的下标,结果指定了错误的元素。4、引用或操作的工作薄、...

EXCEL VBA 下标越界如何解决?
下标越界主要是括号里面的东西不存在,例如:wb.Worksheets(Worksheets1).Range("C2").Copy 这个语句会导致下标越界,因为Worksheets1变量没有正确赋值,正确的写法是:wb.Worksheets(1).Range("C2").Copy 表示第一个工作表的C2复制,或者这样写:wb.Worksheets("sheet1").Range("C2").Copy 表示名字...

excel的宏vba编程把工作薄作为新工作表文件重新保存,老是提示我下标越界...
Excel提示下标越界是VBA程序运行的一个错误提示,原因有以下几个:1、引用了不存在的数组元素:下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。2、声明数组时没有指定元素的数目:引用了不存在的集合成员。3、使用速写形式的下标,结果指定了错误的元素。4、引用或操作的工作薄、...

excel VBA 下标越界
你看看是否有5个或者5个以上工作表,worksheets(5)表示第5个工作表,如果没有5个或者以上,就会越界

相似回答
大家正在搜