дать числовой формат для выбора в зависимости от значения - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь создать небольшой полезный макрос для повседневной работы с таблицами Excel, этот макрос должен давать формат ячейкам в зависимости от значения.

Sub decimals()
    ScreenUpdating = False
    If Selection.Value > 0.99999999 Then
        Selection.NumberFormat = "#,#00"
    Else
        Selection.NumberFormat = "0.00"
    End If
End Sub

код работает для выбора одной ячейки, но не с диапазоном, я полагаю, отсутствует какой-то цикл?как например?

1 Ответ

2 голосов
/ 27 июня 2019

Если это выборка из нескольких ячеек, сравнение Selection.Value не будет работать.

Возможно, попробуйте что-то вроде этого:

Sub Decimals()
    If Not TypeOf Selection Is Range Then Exit Sub

    Dim rng As Range        
    For Each rng In Selection
        If IsNumeric(rng.Value) Then
            If rng.Value > 0.99999999 Then
                rng.NumberFormat = "#,#00"
            Else
                rng.NumberFormat = "0.00"
            End If
        End If
    Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...