Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 通过单击按钮从excel获取唯一数据?_Vba_Excel_Vbscript - Fatal编程技术网

Vba 通过单击按钮从excel获取唯一数据?

Vba 通过单击按钮从excel获取唯一数据?,vba,excel,vbscript,Vba,Excel,Vbscript,我不熟悉excel宏。需要你的帮助。我有一个excel文件和两张表格。 在第一页我有一些数据 在第二页中,我需要一个按钮,它将获取不同的C列名称及其ID。 与大多数Excel问题一样,这可以用宏来完成,也可以只用公式来完成。宏的麻烦往往比它们的价值更大,所以这里有一个公式选项。以这种方式使用公式有一些有趣的缺点,主要是如果你在一本工作簿中做的太多,计算会非常慢。但只要处理的行数少于几千行,就不会有问题 在主工作表上,在D2中输入此公式,然后将其拖动以自动填充要使用的行数。完成后,如果适合的话,

我不熟悉excel宏。需要你的帮助。我有一个excel文件和两张表格。 在第一页我有一些数据

在第二页中,我需要一个按钮,它将获取不同的C列名称及其ID。

与大多数Excel问题一样,这可以用宏来完成,也可以只用公式来完成。宏的麻烦往往比它们的价值更大,所以这里有一个公式选项。以这种方式使用公式有一些有趣的缺点,主要是如果你在一本工作簿中做的太多,计算会非常慢。但只要处理的行数少于几千行,就不会有问题

在主工作表上,在D2中输入此公式,然后将其拖动以自动填充要使用的行数。完成后,如果适合的话,可以隐藏D列

=IF(COUNTIF($C:$C,$C2)<2,MAX($D$1:$D1)+1,0)
对于第二页的“Mname”列

=IFERROR(INDEX('Primary Sheet'!$C:$C,MATCH(ROW(B2)-1,'Primary Sheet'!$D:$D,0)),"")

这些查找公式基于它们自己的行号。因此,单元格A2中的公式正在查找主工作表D列中包含唯一索引2-1=1的行。A3中的公式查找索引3-1=2等。环绕查找公式的IFERROR公式可确保如果找不到所需的索引,公式将返回一个空字符串,该字符串看起来像一个空白单元格。这样,您可以使用这些查找公式在辅助图纸上准备大量行。如果主工作表上只有少量唯一的MNAME,则辅助工作表中不会有充满N/a错误的列。

您可以记录自己自动填写的MNAMEvlookup@Stepan1010我能为它写一个宏吗…有什么帮助吗?我对它还不熟悉。你可以写一个,也可以记录下来——不管是哪种方式——随便哪种更容易。像这样简单的东西当然不需要手写宏。我假设您知道如何将宏附加到按钮,您甚至不需要编写宏。Stepan建议您使用Excel中的宏记录功能。如果该功能对您来说是新功能,请查看此功能是否有帮助:
=IFERROR(INDEX('Primary Sheet'!$C:$C,MATCH(ROW(B2)-1,'Primary Sheet'!$D:$D,0)),"")