Как я могу сравнить данные в ячейке, чтобы увидеть, является ли это ошибкой, «0» в виде текста или любым другим значением? - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь написать оператор If в VBA для Excel, чтобы посмотреть на значение ячейки и определить, является ли оно "0" (ячейка отформатирована как текст), является ли это ошибкой, или это что-то кроме этихдва.

Если это что-то помимо «0» или ошибки, я хочу скопировать выделение и вставить его в другой столбец.

Вот мой фрагмент кода:

'Nested For Loop to Extract Values into Column G
        For DCRNumOfParts = LastCellInColumn - 4 To 1 Step -1

            Set SortCell = Cells(SortRow, 5)
            SortCell.Select
            IsCellError = IsError(Selection.Value)

                'If Statement to determine if the cell value is 0 or error state
                'If Selection.Value <> 0 Or VarType(ActiveCell.Value) <> vbError Then
                If Selection.Value <> "0" And IsCellError <> True Then

                    Selection.Copy
                    Set CopyCell = Cells(SortRow, 7)
                    CopyCell.Select
                    ActiveSheet.Paste

                End If

            SortRow = SortRow + 1

        Next DCRNumOfParts

1 Ответ

0 голосов
/ 17 декабря 2018

Мне удалось решить эту проблему самостоятельно, я обработал ошибку несоответствия типов, выполнив следующие действия:

CellAsString = CStr(Selection.Value)


                'If Statement to determine if the cell value is 0 or error state
                'If Selection.Value <> 0 Or VarType(ActiveCell.Value) <> vbError Then
                If Not IsError(Selection.Value) And CellAsString <> "0" Then
...