Страницы: 1
RSS
Макросом в таблице на против наименования проставить код
 
Здравствуйте, помогите пожалуйста. У меня таблица на 16783 строки, в ней есть в столбце "B", наименования "Опасность психических нагрузок, стрессов (при аварийной ситуации)", можно напротив каждого из них в ячейках, в столбце "H" проставить "С8 (Ч4 x Т2)". Очень нужна помощь
 
Код
Sub FillH()
  Dim a, r
  a = Range([h10], Cells(Rows.Count, 2).End(xlUp))
  For r = 1 To UBound(a)
    If a(r, 1) = a(1, 1) Then a(r, 7) = "Ñ8 (×4 x Ò2)"
  Next
  [b10].Resize(UBound(a), UBound(a, 2)) = a
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ещё вариант.
Код
Option Explicit

Const findWhat = "Опасность психических нагрузок, стрессов (при аварийной ситуации)"
Const s2 = "С8 (Ч4 x Т2)"

Sub Заменить()
    Dim Application_Calculation As Long
    Application_Calculation = Application.Calculation
    Application.Calculation = xlCalculationManual

    FindInSheet ActiveSheet
    
    Application.Calculation = Application_Calculation
End Sub

Sub FindInSheet(sh As Worksheet)
    With sh.UsedRange
        Dim FoundCell As Range
        Dim LastCell As Range
        Dim FirstAddr As String
        Set LastCell = .Cells(.Rows.Count, .Columns.Count)
        Set FoundCell = .Find(what:=findWhat, after:=LastCell)
         
        If Not FoundCell Is Nothing Then
            FirstAddr = FoundCell.Address
        End If
        Do Until FoundCell Is Nothing
            FoundCellJob FoundCell
            Set FoundCell = .FindNext(after:=FoundCell)
            If FoundCell.Address = FirstAddr Then
                Exit Do
            End If
        Loop
    End With
End Sub
 
Sub FoundCellJob(cl As Range)
    cl.Cells(1, 7).Value = s2
End Sub
 
МатросНаЗебре, спасибо БОЛЬШОЕ, то что нужно!!!
Ігор Гончаренко, Вамш макрос заполнял пустые ячейки, вообщем не то
 
))
понятно
в файле примере в В10 было написана фраза, которуюю нужно искать "Опасность психических нагрузок, стрессов (при аварийной ситуации)"
я так и сравнивал
каждую с первой
If a(r, 1) = a(1, 1) Then a(r, 7) = "Ñ8 (×4 x Ò2)"
замените на
Код
If a(r, 1) = "Опасность психических нагрузок, стрессов (при аварийной ситуации)" Then a(r, 7) = "С8 (Ч4 x Т2)"

и выполните еще раз
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо и Вам, таже работает как надо!!!
 
и на 16 тыс. строк должно сработать моментально (меньше секунды)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх