Нашёл ответ вот
Немного адаптировал код под задачу:
Немного адаптировал код под задачу:
| Код |
|---|
Option Explicit Public pClipboardRows As Long Public pClipboardColumns As Long Sub subEvaluateClipboard() 'Узнаём размер диапазона ячеек в буфере обмена 'Проверяем, таблица ли в буфере обмена? Dim formats, fmt formats = Application.ClipboardFormats For Each fmt In formats If fmt = xlClipboardFormatCSV Then GoTo Continue: Next pClipboardRows = 0 pClipboardColumns = 0 Exit Sub Continue: Dim CB As New MSForms.DataObject Dim var As Variant Dim rw As Variant On Error Resume Next CB.GetFromClipboard var = CB.GetText On Error GoTo 0 rw = Split(var, vbCrLf) pClipboardRows = UBound(rw) pClipboardColumns = UBound(Split(rw(0), vbTab)) + 1 End Sub |