建议定义一个 Workbook 变量,比如:
Dim wb As WorkbookSet wb = Application.Workbooks(1)
...
For i = 1 To 3
wb.Worksheets.Add After:=ActiveSheet
...
Next
...
你的这段代码是没有错的;但是
你的代码要放在 sheet名字为“bayujiaozi” 中,且这个表是你放内容的表,
而你要复制的内容应该在Sheet1中,注意,这个Sheet1是表对象,不是表的名称;表的名称是可以重命名的,而这个Sheet1是不能改的,
Sub LastRow()
For i = 1 To 38
Worksheets("bayujiaozi").Cells(i, "A").Value = Sheet2.Cells(i * 8, "G").Value
Next i
End Sub
请仔细看你的图,下面部分显示c为空值,这样Sheets(2).Range("C" &c)就会出问题,c必须要是一个从1开始的整数才不报错,c为空值的时候,系统就去访问Sheets(2).Range("C"),这明细缺少一个行,所以报错,明白了吗?另外,图和代码已经不同了,不知道你现在的代码又改为什么样子了,所以谈不上帮你修改好。只是指出你代码里面下面这样语句的错误:
a=c=3
应该改为两行
a=3
c=3
否则c就会是空值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)