【问题标题】:How do I create a report in Excel marking empty cells as "n" and cells with any input as "y" for a range of cells?如何在 Excel 中创建一个报告,将空单元格标记为“n”,将任何输入的单元格标记为“y”,用于一系列单元格?
【发布时间】:2014-08-26 16:15:23
【问题描述】:

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

我想创建一个报告,以便我可以保留 name 列,但对于其余列,只需根据字段是否留空自动输出“y”或“n”,本质上是 Person A填写了这个类别,或者没有填写另一个等等。

基本上是这样转的:

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

进入:

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

这是否可能仅在 Excel 本身内实现?任何帮助将非常感激。

【问题讨论】:

    标签: vba excel report formula


    【解决方案1】:

    选择工作表并运行此宏:

    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

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

    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
    

    【讨论】:

    • 谢谢!作为简短的跟进,有没有办法将其作为单独的报告而不是编辑当前工作表?
    • 见 EDIT#1 ________________
    猜你喜欢
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    相关资源
    最近更新 更多