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

在Excel列中,“C”的值是“是”或“否”。如果值是“否”,那么我想在可能的情况下缩进列“D”2的缩进值。 如何做到这一点?

怎么样:

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 

尝试这个:

 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列中的当前单元格被分配给variablesi 。 然后检查该单元格的值是否为“否”,如果是,则将这两个“缩进”添加到D列中的相邻单元格中。(使用Offset(rows, cols)函数Offset(0,1) =相同行,右边一列)