如果找到空白单元格,我很难找到运行循环的解决方案。这是我第一次使用VBA (希望不是最后一次),所以提前感谢您的帮助和建议。
基本上,对于一列值(“Unit”),我希望将每个值复制并粘贴到输入框中,复制结果并粘贴到其他地方,然后对下一个值重复,直到“Unit”列中的下一个单元格为空。
对于如何在这种情况下提供任何建议,我们将不胜感激。我试过各种各样的“在.”还有“如果.”等等,但无法破坏结构。
Sub ResultsTable() Application.ScreenUpdating = False Dim UnitRows As Integer UnitRows = Range("Units").Rows.Count Do While Range("Units").Cells(i, 1).Value <> "" i = i + 1 Range("Units").Cells(i, 1).Copy Range("Input").PasteSpecial xlPasteValues Range("ABBA").Copy Range("ABBAO").Cells(i, 1).PasteSpecial xlPasteValues Range("BABBA").Copy Range("BABBAO").Cells(i, 1).PasteSpecial xlPasteValues Range("CABBA").Copy Range("CABBAO").Cells(i, 1).PasteSpecial xlPasteValues Range("DABBA").Copy Range("DABBAO").Cells(i, 1).PasteSpecial xlPasteValues Range("Units").Copy Range("UnitsOutput").PasteSpecial xlPasteValues Application.ScreenUpdating = True End Sub
发布于 2017-10-10 04:04:38
您可以使用.Value属性检查它是否为空白,如:
Range("Units").Cells(i, 1).Value <> ""
当单元格为空时,它返回False。
我不确定您是否需要代码来跳过循环,或者在遇到空白时终止整个循环。如果只需要跳过当前循环,请尝试在其中使用If语句的for-循环。
For i = 1 To UnitRows If Range("Units").Cells(i, 1).Value <> "" Then