如何用宏实现EXCEL的循环赋值并打印

有一个工作表,A1:A100是数据区,假设B1是打印区域,想让B1取A1的值,并打印出来。再让B1取A2的值,打印。再让B1取A3的值并打印......请问如何用宏来实现?
我个人觉得三个问题不懂如何解决:
1、如何对B1赋值.
2、如何让其递增循环;
3、如何判断循环结束,输入一个行号或者让其自动检测空单元格皆可。
请高手指教一下!

三步走:
1.alt+F11
2.双击左边工程框里的Sheet1,右边的编辑窗口中输入以下代码:

Sub yueliang()
Dim i As Integer
For i = 1 To Range("A1").End(xlDown).Row
Range("E3") = Cells(i, 1)
ActiveWindow.SelectedSheets.PrintOut
Next
End Sub

3.鼠标放到程序中,点F5即可
或alt+F8,运行这个宏
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-13
首先回答你的问题

1. 单元格赋值:Cells(行号1, 列号1) = Cells(行号2, 列号2)。将等号后单元格的值赋给等号前的单元格
2. 递增循环:For ... Next 语句
3. 见下面的代码

1). 自动判断空单元格的方法:

Private Sub 宏1()
On Error Resume Next
For i = 1 To 100
if Cells(i, 1) = "" Then Exit Sub
Sheet1.Cells(1, 2) = Cells(i, 1)
Cells(1, 2).PrintOut
Next

End Sub

2). 指定行数的方法

Private Sub 宏1()
On Error Resume Next
intl = InputBox("请输入要打印的行数", "输入行数", 1)
For i = 1 To intl
Sheet1.Cells(1, 2) = Cells(i, 1)
Cells(1, 2).PrintOut
Next
End Sub

运行“宏1”即可
第2个回答  2008-08-13
Sub Macro1()
i = 1
Do Until Cells(i, 1) = ""
Cells(1, 2) = Cells(i, 1)
i = i + 1
Loop
End Sub

Cells(1, 2)就表示B1(第一行第二列)
第3个回答  2008-08-13
非常关注