Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


ruslaw, попробуйте код ниже.
В тексте коде нужно поменять две вещи:
Заменить "Лист1" на реальное название вашего листа, и заменить " | " на реальный разделитель (т.е. если в одну ячейку скопировано несколько значений, они будут разделены знаком | и пробелами, если это не требуется, замените на пустую строку "".
Код нужно скопировать в модуль каждого листа, с которым работаете (в редакторе щелкнуть на иконке листа, с которым работаете). На других листах второй столбец также игнорируется, если это не нужно, удалите в экземпляре кода с этого листа Or Target.Column = 2
Код: Выделить весь код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const strName  As String = "Лист1" 'Имя листа, на который будет выполняться копирование
Const strDelim  As String = " | " 'разделитель названий внутри ячейки, можно убрать содержимое между кавычками
If IsEmpty(Target.Cells(1, 1)) Or Target.Column = 2 Then Exit Sub
If IsEmpty(ThisWorkbook.Worksheets.Item(strName).Cells(Target.Row, 2)) Then
    ThisWorkbook.Worksheets.Item(strName).Cells(Target.Row, 2).Value = Target.Cells(1, 1).Value
Else
 ThisWorkbook.Worksheets.Item(strName).Cells(Target.Row, 2).Value = ThisWorkbook.Worksheets.Item(strName).Cells(Target.Row, 2).Value & strDelim & Target.Cells(1, 1).Value
End If


End Sub

-------
[Форум Word и Excel] - [Как запустить Word, Excel и Outlook в безопасном режиме?] - [Как удалить шаблон Word Normal.dotm?]


Отправлено: 22:00, 06-01-2024 | #2