Цель: с использованием VBA (excel) для заполнения буфера обмена таблицей (из списка) в отличном формате, чтобы затем вставить (ctrl + V) в excel, и значения разделяются на правильные столбцы и строки, как они были в исходном списке.Добавление элементов из списка в буфер обмена в формате excel в формате PDF
Проблема: Я не могу получить форматирование правильно; когда я вставляю содержимое своего буфера обмена в excel, каждая строка содержится в одной ячейке (первом столбце), разделенной «,» (это то, что я пытался использовать как своего рода «разделитель» - не уверен, что это правильно или нет?)
Я использую метод обходного API API для заполнения буфера обмена, и я не хочу наклеить вас на смерть с помощью кода, но вот самый важный бит (я все равно чувствую), спросите меня, нужно ли вам см. больше кода).
Private Sub btnCopyTable_Click()
Dim I As Long
Dim J As Long
Dim tmp As String
Dim arrItems() As String
Dim clipboard As DataObject
ReDim arrItems(0 To lbIPActions.ColumnCount - 1)
For J = 0 To lbIPActions.ListCount - 1
For I = 0 To lbIPActions.ColumnCount - 1
On Error Resume Next ' Handles null values
arrItems(I) = lbIPActions.Column(I, J)
On Error GoTo 0
Next I
tmp = tmp & Join(arrItems, ",") & vbCrLf
Next J
MsgBox tmp
ClipBoard_SetData tmp
End sub
Текущий выход:
1,1,Low,Controls,,LS,Do this,02-Oct-2015,Note 1,Brev
2,1,Low,Controls,,LS,Do that,02-Oct-2015,Note 2,Brev
Текущее состояние: У меня было немного посмотреть вокруг и нашел способ сделать это в коде для конкретного листа, но мой конец пользователь требует свободы скопировать его на многочисленные листы очень специальным образом. Я знаю, что всегда есть возможность щелкнуть правой кнопкой мыши -> импортировать текстовый мастер, но опять же лучше использовать Ctrl + V, если это возможно.
Как всегда, любая помощь/совет приветствуются, заранее.
Работает как очарование, большое спасибо Ambie! Ответ отмечен. – ppw