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

VBA Code for indenting cells based on a specific cell value

在 Excel 列中 "C" 的值为 Yes 或 No。如果值为 "No" 那么我想缩进列 "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列的当前单元格赋值给变量i。然后检查该单元格的值是否为 "No",如果是,则将两个 "indents" 添加到 D 列中的相邻单元格。(使用 Offset(rows, cols) 函数。Offset(0,1) = 同一行,向右一列)