SMK2799635, посмотрел файл - там оказывается объединены ячейки, куда нужно копировать...
Приспособил такой первый найденный макрос:
Код |
|---|
| Код |
|---|
Sub GetTextFromClipboard()
'No Library Reference required.
Dim objClipBoard As Object
Dim lngCounter As Long
Dim a, c As Range, i&
Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
objClipBoard.GetFromClipboard
For lngCounter = 1 To UBound(Application.ClipboardFormats)
If Application.ClipboardFormats(lngCounter) = xlClipboardFormatText Then
'MsgBox objClipBoard.GetText(lngCounter)
a = Split(objClipBoard.GetText(lngCounter), vbNewLine)
End If
Next lngCounter
Set objClipBoard = Nothing
For Each c In Selection.Columns(1).Cells
If c = c.MergeArea.Cells(1) Then
If i <= UBound(a) Then c.Value = a(i): i = i + 1
End If
Next
End Sub
|
|
Сперва скопировать в буфер источник, затем выделить ячейки куда нужно копировать, и выполнить макрос.
Но у меня почему-то не срабатывает если выполнять из меню Разработчик -> Макросы, но работает из редактора VBE, или если вывести кнопку вызова этого макроса на панель быстрого доступа.
P.S. Можно и без обработки буфера сделать, типа сперва взять источник/данные в переменную, затем из этой переменной как выше написал выгрузить в ячейки. Но сложнее организовать этот переход между выделениями - нужно или книги прописывать, или диалог с пользователем, лениво короче...