如何设置一个单元格值=什么是循环?
我有下面的代码。 我怎样才能设置一个单元格值=什么是循环通过该值?
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