Sub LastRow()
For i = 1 To 38
Worksheets("bayujiaozi").Cells(i, "A").Value = Sheet1.Cells(i * 8, "G").Value
Next i
End Sub
原理很简单 就是把第一个sheet里 G列 的第8行以后每隔8行的数据取出来重新生成1列放在另一个新生成的sheet里。但是这个代码报错啊
下表越界了
追答你把表发过来 我给你看看
[email protected]
很明显这句话有问题
Sheet1.Cells(i * 8, "G").Value
正确用法:
Sheets("Sheet1").Cells(i * 8, "G").Value
说明:
Sheets:指定工作簿或当前活动工作簿中所有工作表的集合。Sheets 集合可包含 Chart 对象或Worksheet 对象。
Worksheets:指定工作簿中或活动工作簿中所有Worksheet 对象的集合。每个 Worksheet 对象代表一张工作表。
Worksheet 对象也是Sheets 集合的成员。Sheets 集合包含工作簿中所有的工作表(包括图表工作表和工作表)。
Worksheets("bayujiaozi").Cells(i, "A").Value = oWb.Worksheets(1).Cells(i * 8, "G").Value
改成这样 还是报错 运行时错误 424 要求对象
哦,改写成
Worksheets(1).Cells(i * 8, "G").Value
试试
现在报出下标越界错误。。
追答那就是你的循环I*8越界了,