Excel VBA-如何使用科学记数法识别细胞

Jes*_*der 3 excel vba notation

我搜索了SO,并且试图找到解决方案是不成功的 - 如何通过Excel vba识别科学记数法中的列中的单元格?

这是我试图通过自动过滤行与科学记数法隔离的代码...

Private Sub cmdMoveScientificNotation_Click()

Dim objExcel As Excel.Application
Dim objWB As Excel.Workbook
Dim objWBtoAdd As Excel.Workbook
Dim newWS As Excel.Worksheet
Dim objWS As Excel.Worksheet
Dim i As Long
Dim Lrow As Long
Dim strSearch As String
Dim myRange As Range
Dim Cell As Range


Set objExcel = New Excel.Application

objExcel.Visible = True

Set objWB = Workbooks.Open("C:\TEST\Drop\Bank.xlsx", , False)
Set objWBtoAdd = Workbooks.Add
Set newWS = objWBtoAdd.ActiveSheet

Set objWS = objWB.ActiveSheet

    With objWS

        Lrow = .Range("A" & .Rows.Count).End(xlUp).Row
        myRange = .Range("A1:V" & Lrow)

            For Each Cell In myRange
                If (Cell.NumberFormat = "0.00E+00") Then
                .AutoFilter Field:=2, Criteria1:=strSearch
                .SpecialCells(xlTypeVisible).EntireRow.Copy
                End If

            Next Cell


    End With

newWS.PasteSpecial


End Sub
Run Code Online (Sandbox Code Playgroud)

Tim*_*ams 6

就像是:

If IsNumeric(cell.Value) And cell.text like "*E*" Then
Run Code Online (Sandbox Code Playgroud)

如果数字太长而不适合单元格的宽度,Excel有时会切换到科学记数法而不更改数字格式.

如果您只需要查找已格式化为科学的单元格,请查看:

cell.NumberFormat
Run Code Online (Sandbox Code Playgroud)