excel 表格中的编程语句,请高手帮我解释一下下列语句的含义,谢谢

Sub xx()
Dim lastrow As Long
lastrow = Range("B65536").End(xlUp).Row()
Sheets("Sheet2").Select
For i = 2 To lastrow
For j = 2 To 8
Cells(j + 3, 3) = Sheet1.Cells(i, j)
next j
For j = 9 To 13
Cells(j - 4, 6) = Sheet1.Cells(i, j)
next j
Cells(14, 6) = Sheet1.Cells(i, 14)
Cells(13, 6) = Sheet1.Cells(i, 15)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
next i
End Sub
尽可能详细些,谢谢

这程序是将表1的内容逐行复制到表2 对应的单元格中,并独立打印出来。
Sub xx()
Dim lastrow As Long ‘定义变类型
lastrow = Range("B65536").End(xlUp).Row() '读Sheet1有内容最后的行号
Sheets("Sheet2").Select ‘选择Sheet2
For i = 2 To lastrow '取Sheet1从第2行到最后一行 的内容
For j = 2 To 8 '取某行从2到8列的内容
Cells(j + 3, 3) = Sheet1.Cells(i, j) '放第3列的第5-11行
next j
For j = 9 To 13 '从9到13列的内容
Cells(j - 4, 6) = Sheet1.Cells(i, j) '放第6列的第5-9行
next j
Cells(14, 6) = Sheet1.Cells(i, 14) '取13到14列的内容
Cells(13, 6) = Sheet1.Cells(i, 15) ‘放6列的第14、13行
ActiveWindow.SelectedSheets.PrintOut Copies:=1 '打印工作表内容
next i ‘下一行内容
End Sub追问

有QQ吗,兄弟,想请你帮我设计一个表格,谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-22
Sub xx()
Dim lastrow As Long '定义lasttrow为长整形
lastrow = Range("B65536").End(xlUp).Row() '获取B列最大行数
Sheets("Sheet2").Select '选择工作表Sheet2作为当前工作表
For i = 2 To lastrow
For j = 2 To 8
Cells(j + 3, 3) = Sheet1.Cells(i, j) '将Sheet1的B2:H?区域数值赋给Sheet2的C5:C11,有错误,数据区域大小不相同,结果可能非预期
Next j
For j = 9 To 13
Cells(j - 4, 6) = Sheet1.Cells(i, j) '和前面错误类似
Next j
Cells(14, 6) = Sheet1.Cells(i, 14) 'Sheet1的N列赋给Sheet2的F14,有问题,最终F14为Sheet1 N列最后一行的值
Cells(13, 6) = Sheet1.Cells(i, 15) 'Sheet1的O列赋给Sheet2的F13,有问题,最终F13为Sheet1 O列最后一行的值
ActiveWindow.SelectedSheets.PrintOut Copies:=1 '打印当前选择的工作表Sheet2,位置错误,应与下一条命令交换,否则要打印N次,每次打印结果也不相同。
Next i
End Sub
第2个回答  2019-11-08
抱歉,刚刚表述不完整,就是不同的人不同月份的销售汇总。遇到到不同人不同月都要插入一列进行汇总操作。
第3个回答  2015-07-22
把当前表的数据按规则复制到表2当中,然后打印出来
相似回答