Здравствуйте, коллеги.
Жду замечаний по макросу!!!
Все вы использовали функцию найи и заменить (Ctrl F и / или Ctrl G). Однако, когда таких действий нужно выполнить много, то нужно немного заморочится и написать макрос, что я и зделал.
Как применить поиск и змену на всю книгу я не знаю =(
От Вас жду:
1) аамечания.
2) решения/подсказки о том. как сделать замену во всей книге
Заранее всех благодарю за посильную помощь!!!
Жду замечаний по макросу!!!
Все вы использовали функцию найи и заменить (Ctrl F и / или Ctrl G). Однако, когда таких действий нужно выполнить много, то нужно немного заморочится и написать макрос, что я и зделал.
Как применить поиск и змену на всю книгу я не знаю =(
От Вас жду:
1) аамечания.
2) решения/подсказки о том. как сделать замену во всей книге
Заранее всех благодарю за посильную помощь!!!
Код |
---|
Option Explicit Dim a As Variant 'Заменяемое значение Dim b As Variant 'Заменимое значение Dim c As Variant 'Переменная № строки в цикле заменяемого №1 Dim d As Variant 'Переменная № строки в цикле заменимого №2 Dim e As Variant 'Количество строк в выделенном диапазоне №1 Dim f As Variant 'Количество столбцов в выделенном диапазоне №1 Dim g As Variant 'Количество строк в выделенном диапазоне №2 Dim h As Variant 'Количество столбцов в выделенном диапазоне №2 Dim i As Variant 'Номер 1-ой строки в выделенном диапазоне №1 Dim j As Variant 'Номер 1-ой колонки в выделенном диапазоне №1 Dim k As Variant 'Номер 1-ой строки в выделенном диапазоне №2 Dim l As Variant 'Номер 1-ой колонки в выделенном диапазоне №2 Private Sub CommandButton1_Click() If RefEdit1 = "" Then 'Проверка диапазона №1 на заполнение MsgBox "нет данных в диапазоне №1" Exit Sub End If If RefEdit2 = "" Then 'Проверка диапазона №2 на заполнение MsgBox "нет данных в диапазоне №2" Exit Sub End If 'Выделеный диапазон №1 e = Range(RefEdit1).Rows.Count 'Количество строк в выделенном диапазоне №1 If e < 1 Then 'Проверка диапазона №2 на заполнение MsgBox "мало строк в диапазоне №1" Exit Sub End If f = Range(RefEdit1).Columns.Count 'Количество столбцов в выделенном диапазоне №1 i = Range(RefEdit1).Row 'Номер 1-ой строки в выделенном диапазоне №1 j = Range(RefEdit1).Column 'Выделеный диапазон №2 g = Range(RefEdit2).Rows.Count 'h = Range(RefEdit2).Columns.Count k = Range(RefEdit2).Row 'l = Range(RefEdit2).Column If CheckBox1 = True Then Первый MsgBox "Первый" Else Второй MsgBox "Второй" End If End Sub Sub Второй() For c = i To (e + i - 1) a = Cells(c, j) b = Cells(c, j + 1) Range(RefEdit2).Replace What:=a, Replacement:=b, LookAt:=xlPart Next c End Sub Sub Первый() For c = i To (e + i - 1) a = Cells(c, j) b = Cells(c, j + 1) Range(RefEdit2).Replace What:=a, Replacement:=b, LookAt:=xlWhole Next c End Sub |