循环通过一列,并拉出特定单元格

我有一大堆数据的电子表格在一列中,我正在寻找特定的数据。 我试图看看一个'做直到循环'将工作。

我试图让循环停止,当它看到“目录*”作为单元格的一部分,例如G:\ Example目录。 在此之前,循环应该查看单元格,如果它不以数字开始将该单元格复制到另一个表单/列。

Sub Order() iRow = 1 Do Until Cells(iRow, 1) = "Directory*" If Cells(iRow, 1) <> NumberatBeginning Then Cells(iRow, 1).Copy _ Destination:=Worksheets("Sheet2").Range("A1") End If iRow = iRow + 1 Loop End Sub 

任何帮助,将不胜感激

几乎在那里, IsNumeric函数可以与Mid (或Left )函数结合使用来检查单元格值中的第一个字符,如果字符是数字,则返回TrueFalse 。 尝试这个:

 Sub Order() Dim iRow as Long, x as Long iRow = 1 x = 1 Do Until Cells(iRow, 1).Value Like "Directory*" If Not IsNumeric(Mid(Cells(iRow, 1).Value, 1, 1)) Then Worksheets("Sheet2").Cells(x, 1).Value = Cells(iRow, 1).Value x = x + 1 End If iRow = iRow + 1 Loop End Sub 

您应该避免使用复制和粘贴,因为它会减慢代码的速度,所以最好简单地设置单元格的值。

此外,当循环并复制非数字第一个字符的单元格并将其粘贴到Sheet2您的代码始终粘贴到同一个单元格Range("A1") ,假设您需要一个值列表每次将值复制到Sheet2都需要通过添加一行来增加该值。