2016-01-03 4 views
1
Sub einfarben() 
Worksheets("2_Basisdata").Activate 
Dim Startvalue As Variant 
Dim Endvalue As Variant 
Application.InputBox("startvalue") = Startvalue 
Application.InputBox("endvalue") = Endvalue 
Dim C As Range 
Dim rng As Range 
rng = Range("B2;J13") 
For Each C In rng 
On Error Resume Next 
If Startvalue < C And C < Endvalue Then 
   C.Font.ColorIndex = 4 
End If 
Next C 
End Sub 

Моя проблема: у меня есть несколько ошибок выполнения. Holdingmarker Всплывает на Первом Application.Inputbox Моя цель состоит в том, чтобы добиться того, что клетки, где значение находится между начальным и конечным меняющегося на зеленый ..VBA Coloring Celldata между указанными значениями

ответ

1

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

Startvalue = Val(InputBox("start value")) 

Аналогичным образом для следующей строки. Похоже, что здесь нет смысла использовать Application.InputBox, поэтому я сбросил Application. Я добавил Val, чтобы преобразовать входные строки в числа.

Кроме того, вы должны использовать Set при назначении диапазона переменной диапазона:

Set RNG = Range ("B2: J13")

+2

Я хотел бы также избавиться от 'On Error Resume Следующая строка –

+0

@scottcraner Хорошая точка. Я думал об этом, но решил сосредоточиться на фактических синтаксических ошибках. Очевидно, что в этом коде есть много возможностей для улучшения. –

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