Страницы: 1
RSS
как вернуть предыдущие настройки поиска?
 
добрый день. например,я провел поиск с помощью макроса с использованием метода Find. затем я хочу вернуть настройки поиска,чтобы в окне "Найти и заменить" были прежние настройки.

можно ли это сделать ? т.е. перед запуском макроса мне нужно запомнить настройки поиска,а затем,после работы макроса,вернуть обратно. например,как запомнить перед запуском макроса параметр "LookIn".
Изменено: Karataev - 08.04.2015 07:53:43
 
Записать в переменную, ячейку листа, имя...
 
а что в коде написать,чтобы записать в переменную параметр "LookIn" ? я не знаю,как обратиться к тому,что содержит эти параметры
 
Цитата
Karataev написал: записать в переменную параметр "LookIn"
наоборот - параметру LookIn присвойте значение переменной, определенной Вами ранее, например
Код
N = xlValues
Set c = Worksheets(1).Range("a1:a100").Find(2, LookIn:=N)
Согласие есть продукт при полном непротивлении сторон
 
Зачем Вам окно, если поиск и замена производится автоматически?
 
потому что после макроса окно Найти и заменить  изменяется. пользователь может не заметить этого и если будет пользоваться окном Найти и заменить,то у пользователя могут быть неправильные данные. поэтому после работы макроса нужно вернуть прежние параметры поиска.

Sanja,мне как раз наоборот нужно -записать не в параметр,а из параметра
Изменено: Karataev - 08.04.2015 09:33:15
 
Для изменения параметров диалогового окна нужно провести поиск (чего угодно где угодно) с нужными параметрами.
Об этом Sanja и пишет
F1 творит чудеса
 
а как считать параметры из Find? где-то записаны эти параметры? может быть в реестре Windows .
 
Напрямую через VBA - никак. Где хранятся эти параметры - неизвестно.

Но можно поискать кота
Код
Sub GetCurentFindSettings()
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
With Sheets.Add(After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)).Range("A:A")
    .Cells(2, 1).Formula = "=""C""&""atalog"""
    .Cells(3, 1).Formula = "=""c""&""atalog"""
    .Cells(4, 1).Formula = "=""C""&""at"""
    .Cells(5, 1).Formula = "=""c""&""at"""
    .Cells(6, 1).Formula = "Catalog"
    .Cells(7, 1).Formula = "catalog"
    .Cells(8, 1).Formula = "Cat"
    .Cells(9, 1).Formula = "cat"
    
    Select Case .Find("cat", After:=.Cells(1, 1)).Row
        Case 2
            MsgBox "LookIn:Values, LookAt:Part, MatchCase:False"
       Case 3
            MsgBox "LookIn:Values, LookAt:Part, MatchCase:True"
        Case 4
            MsgBox "LookIn:Values, LookAt:Whole, MatchCase:False"
        Case 5
            MsgBox "LookIn:Values, LookAt:Whole, MatchCase:True"
        Case 6
            MsgBox "LookIn:Formulas, LookAt:Part, MatchCase:False"
       Case 7
            MsgBox "LookIn:Formulas, LookAt:Part, MatchCase:True"
        Case 8
            MsgBox "LookIn:Formulas, LookAt:Whole, MatchCase:False"
        Case 9
            MsgBox "LookIn:Formulas, LookAt:Whole, MatchCase:True"
    End Select
End With

ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count).Delete

Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
F1 творит чудеса
 
спасибо всем ответившим
Страницы: 1
Наверх