如何设置一个单元格值=什么是循环?

我有下面的代码。 我怎样才能设置一个单元格值=什么是循环通过该值?

Sub Test2() ' Select cell A2, *first line of data*. Range("A2").Select ' Set Do loop to stop when an empty cell is reached. Do Until IsEmpty(ActiveCell) ' Insert your code here. ' Step down 1 row from present location. ActiveCell.Offset(1, 0).Select Loop End Sub 

我的答案会更好看一个评论,但它太长,以适应评论(不能格式正确)。

如何遍历一个范围

我build议你看看Chip Pearson关于优化VBA的页面 ,特别是在VBA中循环播放。

当你遍历范围时,你可以使用这个例子中描述的for each语句:

 Dim WS as Worksheet For Each WS In Worksheets MsgBox WS.Name Next WS Dim i as Integer For i = 1 To Worksheets.Count MsgBox Worksheets(i).Name Next i 

find最后一个空单元格

你的代码似乎试图find最后一个空的单元格。 你可以轻松地做到这一点

 With ActiveWorkbook.Worksheets("Sheet1") .Cells(.Rows.Count,1).End(xlUp) End With 

你可以在ozgrid上find更多的技巧(即使他们不使用rows.count

避免select

如果您尝试Select循环中的每个单元格,您的代码将非常慢

你最好使用VBA的对象模型
例如,如果您只想复制单元格的

不要这样做

 Range("A1").Select Selection.Copy Range("A2").Select Selection.Paste 

 Range("A2").Value = Range("A1").Value