Делаю макрос, который после запуска позволит выбрать на соседнем листе не связанный (рваный, по Ctrl) диапазон, соединит каждую ячейку диапазона через разделитель "; " и добавит к активной ячейке.
Сделал форму, на ней элемент RefEdit1 для выбора диапазона.
Повесил на кнопку формы такой макрос. Для связанного диапазона работает. А для "рваного" — нет.
Код
Private Sub CommandButton1_Click()
Dim Y As Range
Dim Cell As Range
Set Y = Range(RefEdit1.Text)
For Each Cell In Y
ActiveCell.Value = ActiveCell.Value & Cell.Value & "; "
Next Cell
Me.Hide
RefEdit1.Text = ""
End Sub
Файл прилагаю.
Подскажите, как сделать, чтобы макрос выполнялся и для несвязанного диапазона.
Set Y = Range(Replace(RefEdit1.Value, ";", ","))
' и для красоты - бонус
For Each Cell In Y
If ActiveCell.Value = Empty Then
ActiveCell.Value = Cell.Value
Else
ActiveCell.Value = ActiveCell.Value & ";" & Cell.Value
End If
Next Cell