循环通过一列,并拉出特定单元格
我有一大堆数据的电子表格在一列中,我正在寻找特定的数据。 我试图看看一个'做直到循环'将工作。
我试图让循环停止,当它看到“目录*”作为单元格的一部分,例如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
)函数结合使用来检查单元格值中的第一个字符,如果字符是数字,则返回True
或False
。 尝试这个:
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
都需要通过添加一行来增加该值。