2014-10-30 2 views
-1

привет! xDКак загрузить значение ячейки в макросе Excel?

У меня есть макрос в Excel, и когда он активируется кнопкой, он будет фильтровать мою таблицу.

Это макрос:

Sub Macro2() 
' 
' Macro2 Macro 
' 

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

Как вы можете видеть, макрос фильтрации таблицы с использованием поля 2 (имя) и значение «Мария».

Мне нужно загрузить значение ячейки M1 вместо фиксированного значения «Мария».

Как я могу это сделать?

Спасибо!

ответ

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

Dim создает переменную с именем filterName типа String

Линия filterName = Cells(1,13).Value означает получить значение ячейки, расположенной в строке 1, столбец 13, и кроме того, что к переменной filterName.

После того как вы это, вы хотели бы сделать что-то вроде этого:

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

Извините, но им не очень хорошо знакомы с Excel и я действительно не знаю, как ваша функция работает, так как его полностью отличается от шахты Wich автоматически генерируется «record macro». –

+0

@LucasMatos Посмотреть мое редактирование – JRLambert

+0

спасибо! еще одна вещь, вы знаете, как автоматически использовать * подстановочный знак? Если имя «Мария Доу», а ячейка «Мария», она не будет отображаться в фильтре. Но если ячейка «Maria *», она будет отображаться в фильтре. Как я могу автоматически добавить этот * подстановочный знак, чтобы пользователь не набирал его? –