2014-10-30 77 views
-1

嗨! xD如何在Excel宏中加载单元格值?

我在Excel上有一个宏,当它被一个按钮激活时,它会过滤我的表。

这是宏:

Sub Macro2() 
' 
' Macro2 Macro 
' 

' 
    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= _ 
     "Maria" 
End Sub 

正如你可以看到,宏滤波使用场2(名称)表和值“玛利亚”。

我需要的是加载单元格M1的值而不是固定值“Maria”。

我该怎么做?

谢谢!

回答

1
Dim filterName as String 
filterName = Cells(1,13).Value 

Dim创建一个名为类型String

线filterName = Cells(1,13).Value装置获得位于行1,列13中的单元的值的变量filterName,并且保存到变量filterName

一旦你有了这个,你会想要做这样的事情:

ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=2, Criteria1:= filterName 
+0

很抱歉,但我不是很熟悉Excel和我真的不知道你的函数是如何工作的,因为它与我至极完全不同是由“记录宏”自动生成的。 – 2014-10-30 04:52:08

+0

@LucasMatos查看我的编辑 – JRLambert 2014-10-30 04:55:08

+0

谢谢!还有一件事,你知道如何自动使用*通配符吗?如果名称是“Maria Doe”,单元格是“Maria”,则不会在过滤器中显示。但如果单元格是“Maria *”,它将显示在过滤器中。我怎么能自动添加这个*通配符,所以用户不必输入它? – 2014-10-30 05:16:45

相关问题