2014-01-29 6 views
5

Я просто хочу выделить ячейку с номером. Этот макрос также выделяет ячейку с текстом.Выделите ячейки с числовым значением

Sub high() 
    Dim ws As Worksheet 
    Dim yourrange As Range 

    Set ws = ActiveSheet 

    For Each yourrange In ws.Cells.SpecialCells(xlCellTypeConstants) 
     yourrange.Interior.Color = 65535 
    Next yourrange 
End Sub 
+0

HI. HOw я устанавливаю диапазон для этого, чтобы работать. Я хочу только из ячейки B7: D1000 – user3147267

ответ

6

Есть два варианта для вас: с VBA и без WBA:

1) Использование VBA

без использования цикла, благодаря @Siddharth Бегство :)

Sub high() 
    Dim ws As Worksheet 
    Dim rng As Range 

    Set ws = ActiveSheet 

    On Error Resume Next 
    Set rng = ws.Cells.SpecialCells(xlCellTypeConstants, xlNumbers) 
    On Error GoTo 0 

    If Not rng Is Nothing Then rng.Interior.Color = 65535 
End Sub 

Использование петли:

Sub high() 
    Dim ws As Worksheet 
    Dim yourrange As Range 
    Dim rng As Range 

    Set ws = ActiveSheet 

    On Error Resume Next 
    Set rng = ws.Cells.SpecialCells(xlCellTypeConstants) 
    On Error GoTo 0 

    If Not rng Is Nothing Then 
     For Each yourrange In rng 
      If IsNumeric(yourrange) Then yourrange.Interior.Color = 65535 
     Next yourrange 
    End If 
End Sub 

2) Без VBA, (спасибо @pnuts):

Перейти к "Найти & Выбрать" меню пункт на ленте и выберите "GoTo Special ..":

enter image description here

выбрать "константы" и выберите только "Номера" и нажмите "OK".

enter image description here

Теперь первенствует выделены все номерные клетки:

enter image description here

Следующий шаг, чтобы заполнить их с желаемым цветом:

enter image description here

Done :)

+1

Я бы рекомендовал расщепить 'ws.Cells.SpecialCells (xlCellTypeConstants)' из цикла For и установить объект диапазона, а затем сэндвич между OERN :) –

+0

@SiddharthRout, сделано :) Спасибо! –

+0

Kool. Одна маленькая вещь ... вам нужно сэндвич-цикл 'For' в' If Not rng Is Nothing Then' и изменить 'MsgBox '. На листе нет констант' '' 'msgbox Err.Description', иначе он покажет то же сообщение для других ошибок :) –

Смежные вопросы