Страницы: 1
RSS
Поиск значения и вставка текса в ячейку рядом с ним
 
Добрый день! Помогите пожалйста с формулой или скриптом который найдёт на листе все надписи NC и рядом с этим текстов в соседней ячейке добавит надись LIBER. Или может как-то это можно сделать через поиск/замена. Пример в файле Спасибо!!!
Изменено: zenner - 06.03.2026 12:39:29
==ZeNNeR==
 
Код
Option Explicit
Private Const sFIND = "NC"
Private Const sPRINT = "LIBER"

Sub NC_LIBER()
    NC_LIBER_sheetJob ActiveSheet
End Sub

Private Sub NC_LIBER_sheetJob(sh As Worksheet)
    Application.ScreenUpdating = False
    Dim Application_Calculation As XlCalculation: Application_Calculation = Application.Calculation: Application.Calculation = xlCalculationManual
    
    Dim nc As Range, cAfter As Range, firstAddress As String
    Do
        On Error Resume Next
        If cAfter Is Nothing Then
            Set nc = sh.UsedRange.Find(What:=sFIND)
            firstAddress = nc.Address(0, 0, xlA1)
        Else
            Set nc = sh.UsedRange.Find(What:=sFIND, After:=cAfter)
            If firstAddress = nc.Address(0, 0, xlA1) Then Exit Do
        End If
        On Error GoTo 0
        If nc Is Nothing Then Exit Do
        NC_LIBER_cellJob nc.Cells(1, 2)
        
        Set cAfter = nc
        DoEvents
    Loop
    
    Application.Calculation = Application_Calculation
    Application.ScreenUpdating = True
End Sub

Private Sub NC_LIBER_cellJob(li As Range)
    If li.Value <> sPRINT Then
        li.Value = sPRINT
        li.Font.Color = RGB(255, 0, 0)
    End If
End Sub
 
При выполнении макроса пишет  

Compile error:
Invalid outside procedure
==ZeNNeR==
 
Скорее всего, в данном случае это можно перевести, как "индивид не справился с копированием текста".
Изменено: МатросНаЗебре - 06.03.2026 13:07:06 (Прикрепил файл.)
 
Спасибо Вам огромное за помощь!!!
==ZeNNeR==
 
Цитата
формулой
например в D5:
=ЕСЛИ(B5="NC";"LIBER";ЕСЛИ(C5="";"";C5))
...при желании скопировать и вставить как значения (но нужно помнить, что "" - это не совсем пусто))
Цитата
Или может как-то это можно сделать через...
Вариант "пассами":
1. Добавить фильтр
2. Фильтр по "NC"
3. Выделить ячейки  столбца 'C'
4. Ctrl+G
5. Выделить…
6. только видимые ячейки
7. Ок
8. Вести в строке формул нужное значение (если уже есть, то F2)
9. Ctrl+Enter
10. Снять фильтр
 
Кросс.
Страницы: 1
Читают тему
Наверх