循环重复声明

时间:2013-12-17 16:49:52

标签: excel vba excel-vba

我需要编写一个循环来运行以下行,直到第三行找到它选择为空的单元格。

我通常会将我的代码包含在循环中进行纠正/批评但是在整个上午搜索之后我找不到一个do while循环的例子,它不计算继续移动。

有人可以用一两个链接指向正确的方向吗?

Sheets("Sheet1").Select
Selection.Offset(0, 3).Select
Selection.Offset(1, 0).Select

Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection(1, 3)).Select
Selection.Copy

Sheets("Output").Select
Selection.End(xlDown).Select
Selection.Offset(1, 1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

'Include Fund name
Sheets("Sheet1").Select
Selection.End(xlUp).Select
Selection.Copy

Sheets("Output").Select
Range("B2").Select
Selection.End(xlDown).Select

Selection.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Selection.Offset(0, 1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Offset(0, -1).Select
Selection.FillDown

1 个答案:

答案 0 :(得分:1)

我找不到do while循环的例子,它不计算继续移动。

那时你看起来不是很努力。所有DoWhile循环都应该有一个终结符或Exit语句,否则它们会在无限循环中使应用程序崩溃。

尝试:

 Do Until Sheets("Sheet1").Selection.Offset(1, 0).Value = vbNullString

    '// YOUR CODE HERE //


 Loop

或者:

Do
   If Sheets("Sheet1").Selection.Offset(1, 0).Value = vbNullString Then Exit Do

   '// YOUR CODE HERE //

Loop
相关问题