2015-04-30 8 views
0

В столбце Excel «C» имеет значения «Да» или «Нет». Если значение «Нет», то я хочу отступывать значение столбца «D» 2 отступа, если возможное. Как это сделать?Код VBA для отступов ячеек на основе значения конкретной ячейки

+0

Можете ли вы дать мне решение по вопросу ниже? http://stackoverflow.com/questions/30021271/vba-windows-api-for-automating-external-app-using-ms-spy – Latestarter

ответ

0

Как насчет:

Sub IndentD() 
    For Each r In Intersect(Range("C:C"), ActiveSheet.UsedRange) 
     If r.Text = "No" Then 
      r.Offset(0, 1).InsertIndent 2 
     End If 
    Next r 
End Sub 
+0

Это именно то, что я искал! Благодаря! – Tamela

2

Попробуйте это:

For Each i in Sheets("sheetname").Range("C1:C100") ' change to last row number 
    If i.Value = "No" Then 
     i.Offset(0,1).InsertIndent 2 ' Offset selection from column C to D 
    End If 
Next i 

Объяснение:For each петли через ячейки в столбце C. Для каждого раунда цикла, текущей ячейки в столбце C присваивается переменной i. Затем вы проверяете, является ли значение этой ячейки «Нет», и если да, вы добавляете два «отступа» в соседнюю ячейку в столбце D. (используя функцию Offset(rows, cols). Offset(0,1) = та же строка, одна колонка вправо)

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