查找单元格值并根据单元格的值填充其他单元格

时间:2014-06-14 21:33:01

标签: excel vba excel-vba

设置: 我在表A的单元格中有一个值x(可以通过下拉菜单更改)。 检查表B中是否存在相同的值,并返回下面同一列中列出的单元格内容,直到第一个空白单元格为止。将这些单元格再次复制到工作表A.

例如:

表1,A栏包含"单位"头。 B列有一个employees-header。 从该单位字段,我可以通过下拉功能选择几个单位(销售,市场营销,编程......)。

在表B中,您可以找到一组迷你表。

每栋楼都列出了单位。这6座建筑物中的每一座(每列1座建筑物,A-F)都有自己的单元列在同一列中。这些单位列出了一些员工姓名,并以空白单元格作为下一单元的分隔符结束。

Sheet2:A列

Building1 - 销售
彼得
朱迪
弗朗茨
波多黎各

Building1 - 营销
桑迪
亚伦
佛瑞德

建筑1 - 编程
谢尔顿
拉拉

表2 B列与Building2 -Sales .....

相同

现在在Sheet A的下拉列表中,我选择了值 "建筑1 - 营销" 表A中的B列现在应该填写Building1营销单位中员工的姓名,即Sandy,Aaron和Fred。

这是一个例子,但第二张表中的排序就像......

我读到了关于填充的内容,我认为这是错误的方式。我也可以在表B中找到x,对下面的值进行计数直到空白到来,然后使用该值来选择,复制和粘贴值。

如何做到这一点?

RGDS

1 个答案:

答案 0 :(得分:0)

Sub Macro1()

Sheets("Feuil2").Select 'selects sheet 2

'finds what you chose in the dropdown list
Cells.Find(What:=Feuil1.MyDropDownList1.value, After:=ActiveCell, LookIn:= _
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
    xlNext, MatchCase:=False, SearchFormat:=False).Activate

'selects from the line below till the line before blank
Range(ActiveCell(2, 1), Range(ActiveCell.End(xlDown).Address)).Select

Selection.Copy 
Sheets("Feuil1").Select
Range("B1").Select
ActiveSheet.Paste

End Sub

我希望这会给你一个想法。 您必须根据工作表名称和下拉列表名称进行一些修改。

祝你好运