如何在Excel中创建一个将空单元格标记为" n"和任何输入的单元格" y"对于一系列细胞?

时间:2014-08-26 16:15:23

标签: excel vba excel-vba report formula

举个例子,假设我有五列和五行数据。列A都是名称,其余四列B到E包括关于每个人的用户生成的数据。

我想创建一个报告,我可以保留name列,但对于其余列,只需自动化" y"或" n"输出取决于字段是否留空,基本上是人员A填写此类别,或者没有填写另一个,等等。

基本上要转这个:

[person a][populated cell][populated cell][blank cell][blank cell][populated cell]

成:

[person a][y][y][n][n][y]

这可能只在Excel内部吗?任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

选择工作表并运行此宏:

Sub Yes_No()
    Dim RR As Range, N As Long
    N = Cells(Rows.Count, 1).End(xlUp).Row
    Set RR = Range("B1:E" & N)
    For Each r In RR
        If r.Value = "" Then
            r.Value = "no"
        Else
            r.Value = "yes"
        End If
    Next r
End Sub

修改#1

要在单独的工作表上生成报告,请创建一个名为报告,的新工作表,然后选择原始工作表并运行此宏:

Sub Yes_No()
    Dim RR As Range, N As Long, rs As Worksheet, _
        ady As String
    N = Cells(Rows.Count, 1).End(xlUp).Row
    Set RR = Range("B1:E" & N)
    Set rs = Sheets("Report")
    For Each r In RR
        ady = r.Address
        If r.Value = "" Then
            rs.Range(ady).Value = "no"
        Else
            rs.Range(ady).Value = "yes"
        End If
    Next r
End Sub