2014-10-30 5 views
1

Я новичок в vba, и мне нужен скрипт для добавления 1 правила на всю строку (201 строка).Auto-increment variable in While Loop

Мой счетчик i и я хочу вставить этот i для автоматического приращения в моем листе

Я не знаю, почему я не могу вставить переменную?

Sub test() 
    Dim i As Byte 
    i = 2 

    While (i <= 202) 
     Range("Hi,Hi:Ji,Mi:Pi").Select  '<--- insert my "i" here 
     Range("Mi").Activate '<---here 

     Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _ 
     Formula1:="=$G$i" '< ---here 

     Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 

     With Selection.FormatConditions(1).Interior 
      .PatternColorIndex = xlAutomatic 
      .Color = 192 
      .TintAndShade = 0 
     End With 

     Selection.FormatConditions(1).StopIfTrue = False 

     i = i + 1 
    Wend 
End Sub 

ответ

1

Range("Hi,Hi:Ji,Mi:Pi") с переменной может быть записана в виде

Range("H" & i & ",H" & i & ":J" & i & ",M" & i & ":P" & i) 

Аналогично для остальных.

В основном Range("A1") можно записать в виде Range("A" & i)

Также вам не нужно использовать .Select для выполнения действия. В большинстве случаев вы можете напрямую работать с объектом. Вы можете посмотреть THIS

+0

thx за вашу очень большую помощь! хорошего дня ! – Skunk