根据另一个

时间:2016-09-01 15:30:56

标签: excel vba excel-vba

我正在尝试构建一些团队可以填写的工作表,以显示特定项目所需的功能。功能列表是固定的。项目列表将由他们填充。

第一个工作表的一面是项目,另一面是功能。如果某个特定项目(他们输入)在顶部包含一个功能,他们必须勾选列和行交叉的相应单元格。

在第二个工作表中,我想根据第一个选项预先填充一个列表。例如,对于每个项目,我希望列出功能(列的列标题,其中列表位于第一页中)。

希望我已经清楚地传达了这一点!

如果有人甚至可以给我一个我正在尝试的名称,我将非常感激,以便我可以专注于我自己的手动搜索在互联网上!

提前谢谢:)

1 个答案:

答案 0 :(得分:0)

Sub test()

    Dim shtList, rw As Range, r As Long
    Dim rNum As Long, rngProj As Range, cNum As Long

    Set shtList = Sheets("Listing")

    'assume data starts in A1 and contains no blank rows/columns
    Set rngProj = Sheets("Projects").Range("A1").CurrentRegion

    r = 2

    For rNum = 2 To rngProj.Rows.Count
        Set rw = rngProj.Rows(rNum)
        shtList.Cells(r, 1).Value = rw.Cells(1).Value 'project
        r = r + 1
        For cNum = 2 To rw.Columns.Count
            If rw.Cells(cNum).Value = "x" Then
                shtList.Cells(r, 1).Value = rngProj.Rows(1).Cells(cNum).Value
                r = r + 1
            End If
        Next cNum
    Next rNum

End Sub