Страницы: 1
RSS
Массовая замена данных в диапазоне (Массовый Ctrl F), Массовая замена данных в ячейках в диапазоне.
 
Здравствуйте, коллеги.
Жду замечаний по макросу!!!
Все вы использовали функцию найи и заменить (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
 
Цитата
Kor написал:
Как применить поиск и змену на всю книгу я не знаю
Ctrl+H - Параметры - Искать: в книге.
 
Почему в курилке?
 
Kor, приветствую! Для массовой замены по спискам давно и очень успешно использую макрос на основе этого
Изменено: Jack Famous - 23.01.2019 12:27:16
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх