循环查看表单并将值添加到下拉列表 – VBA

目标

我想循环五张表,并根据一些要求在第六张表中填写一个下拉列表。

问题

我不知道如何填充下拉列表,使他们dynamic和循环通过五张。

描述

在第六张表格(下拉列表)中,列E包含了我想要比较的五个名单中的第一行(E1:GG1)。 每列有一堆1。

如果列E(下拉列表)中的名称与行中的名称(五张中的一张)之间存在匹配,并且该列的列中存在“1”,则下拉列表应该填入ID在A栏中

期望的输出

在这里输入图像说明

在这里输入图像说明

Private Sub ValuesInDropdownList() Dim TeamSource As Range, PersonSource As Range, r As Range, csString As String Dim PersonCell As Range, TeamCell As Range Dim Dropdown As Collection Dim i As Integer Dim lastRow As Integer Set TeamSource = Sheets("Dropdown Sheet").Range("E10:E100") Set PersonSource = Sheets("Sheet1").Range("E1:GG1") Set Dropdown = New Collection On Error Resume Next For Each PersonCell In PersonSource v = PersonCell.Value Debug.Print (v) With PersonSource lastRow = .Cells(.Rows.Count, PersonCell.Columns.Count).End(xlUp).Row Debug.Print (lastRow) End With If v <> "" Then For Each TeamCell In TeamSource Debug.Print (TeamCell) If PersonCell = TeamCell Then intValueToFind = 1 For i = 1 To lastRow If PersonCell.Offset(i, 0) = intValueToFind Then Debug.Print (PersonCell.Offset(i, -4)) Dropdown.Add v, CStr(v) End If Next i End If Next TeamCell End If Next PersonCell End Sub