Sub imprimir()
Sheet("imprimir").Select
Activewindows.selectedsheet.PrintOut
With Sheet("regostro")
x = .Range("65536").End(xlUp).Row + 1
For i = 0 To 33
.Cells(x + i, 1) = [l7]
.Cells(x + i, 2) = [a4]
.Cells(x + i, 3) = [a5]
.Cells(x + i, 4) = [a6]
.Cells(x + i, 5) = Cells(i + 6, 5)
.Cells(x + i, 6) = Cells(i + 6, 6)
.Cells(x + i, 7) = Cells(i + 6, 1)
End Sub
错误1:你的打印部分错误,PrintOut前面的selectedsheet这个对象应该是selectedsheets,表示所有选择的工作表的集合,实际上:
1、要打印某个工作表,可以直接用Sheets("XX").PrintOut;这个表示打印xx工作表的所有内容
2、要打印某个工作表的指定单元格部分,直接使用Sheets("xx").Range("A6:H12").PrintOut。这个表示打印xx工作表的A6:H12单元格区域。
错误2、关键词的使用错误,对于With语句,必须有一个End With语句与之相对应,否则将产生缺少"End With"关键词的错误。
错误3、循环语句错误,对于For循环语句,必须使用Next作为循环语句的结束,对于Do必须使用Loop作为循环语句的结束,这是VB语言的基础语法,必须严格遵守,否则代码将不被编译通过,针对以上三点,你的代码建议修改如下:
Sub imprimir()
回过头去看其他人的答案,原来foxtiger第一个回答已经修正了所有问题!!