在excel中查找非科学记数法值

时间:2014-08-18 10:23:09

标签: excel excel-vba vba

我希望在Excel 2013中使用vba找到具有特定值的单元格。我试过这个,只要列足够宽就可以正常工作。

Set foundCell = ThisWorkbook.Sheets(1).Rows(1).Find(What:="201402", LookIn:=xlValues)

但是,如果列不够宽,则数字以科学计数法显示," 2E + 05",如果我在非中搜索值,上面的行将无法找到科学计数法。只要单元格包含值而不是公式,这将起作用:

Set foundCell = ThisWorkbook.Sheets(1).Rows(1).Find(What:="201402", LookIn:=xlFormulas)

但是,在我的情况下,单元格值是引用另一个单元格的公式(" = C1"),在这种情况下,上述两个单元格都不起作用。

那么,是否有可能搜索" 201402"并在以下场景中的第2行找到它?

  1. 在Excel 2013中创建新工作簿
  2. 在单元格C1中插入201402
  3. 在单元格C2中插入= C1
  4. 使C栏足够窄,以便显示科学记数法
  5. 这两种方法都不起作用:

    Set foundCell = ThisWorkbook.Sheets(1).Rows(2).Find(What:="201402", LookIn:=xlValues)
    Set foundCell = ThisWorkbook.Sheets(1).Rows(2).Find(What:="201402", LookIn:=xlFormulas)
    

1 个答案:

答案 0 :(得分:0)

如下所示

Sub FindThis()
Dim c As Range
For Each c In Cells
    If c.Value = "201402" Then
        c.Select
        Exit For
    End If
Next
End Sub