用于根据特定单元格值缩进单元格的VBA代码

时间:2015-04-30 17:49:20

标签: excel vba indentation

在Excel专栏" C"具有“是”或“否”的值。如果值为"否"然后我想缩进列#34; D"的值。如果可能,2个缩进。如何实现这一目标?

2 个答案:

答案 0 :(得分: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) =同一行,右边一列)

答案 1 :(得分: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