Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скопировать массив в буфер обмена для вставки методом Ctrl+V - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вопросы по VB, VBS, VB.net » Скопировать массив в буфер обмена для вставки методом Ctrl+V
Скопировать массив в буфер обмена для вставки методом Ctrl+V
lopuxi Дата: Понедельник, 31.10.2016, 13:13 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 108
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007, 2013
Добрый день всем великим гуру программистам

Можно ли решить такую проблему. Есть у меня заполненный ListBox, такая простоя табличка, в 4 колонки со значениями. Мне нужно все эти данные из LisBox скопировать, что бы пользователь мог вставить их на другой лист Excel или даже другую книгу Excel

Я сейчас хочу занести их в массив, а вот потом... даже не знаю, можно ли массив перевести в буфер обмена, каким то волшебным образом?

Собрать данные в массив - несложно. А вот как так сделать что бы они в буфере обмена оказались?
[vba]
Код

Dim MyCopyMassivArr(11, 4) As Variant
For iCol = 0 To 3
    For iRow = 0 To 10
        MyCopyMassivArr(iRow, iCol + 1) = ListBox_Total.Column(iCol, iRow)
    Next
Next
[/vba]

Я там файл прикрепил. UserForm вызывается двойным кликом зеленым строчкам на листе. По итоговым данным по городу.

А может есть какие то иные способы скопировать то что мне нужно.
Да, копирую я не ячейки в Excel. Копирую я то что уже макрос собрал в ListBox
К сообщению приложен файл: 7214797.png(32Kb) · 1111.xlsm(61Kb)


О_о ...и так можно было?

Сообщение отредактировал lopuxi - Понедельник, 31.10.2016, 13:22
 
Ответить
СообщениеДобрый день всем великим гуру программистам

Можно ли решить такую проблему. Есть у меня заполненный ListBox, такая простоя табличка, в 4 колонки со значениями. Мне нужно все эти данные из LisBox скопировать, что бы пользователь мог вставить их на другой лист Excel или даже другую книгу Excel

Я сейчас хочу занести их в массив, а вот потом... даже не знаю, можно ли массив перевести в буфер обмена, каким то волшебным образом?

Собрать данные в массив - несложно. А вот как так сделать что бы они в буфере обмена оказались?
[vba]
Код

Dim MyCopyMassivArr(11, 4) As Variant
For iCol = 0 To 3
    For iRow = 0 To 10
        MyCopyMassivArr(iRow, iCol + 1) = ListBox_Total.Column(iCol, iRow)
    Next
Next
[/vba]

Я там файл прикрепил. UserForm вызывается двойным кликом зеленым строчкам на листе. По итоговым данным по городу.

А может есть какие то иные способы скопировать то что мне нужно.
Да, копирую я не ячейки в Excel. Копирую я то что уже макрос собрал в ListBox

Автор - lopuxi
Дата добавления - 31.10.2016 в 13:13
lopuxi Дата: Понедельник, 31.10.2016, 17:43 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 108
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007, 2013
Спасибо за бурную дискуссию )
Разобрался с проблемой. Перенес все данные в строку, занес в переменную и скопировал ее по примеру как здесь:

[vba]
Код

Dim MyData As DataObject

Private Sub CommandButton1_Click()
Set MyData = New DataObject
f = "dddd"
   MyData.SetText f
   MyData.PutInClipboard
End Sub
[/vba]


О_о ...и так можно было?
 
Ответить
СообщениеСпасибо за бурную дискуссию )
Разобрался с проблемой. Перенес все данные в строку, занес в переменную и скопировал ее по примеру как здесь:

[vba]
Код

Dim MyData As DataObject

Private Sub CommandButton1_Click()
Set MyData = New DataObject
f = "dddd"
   MyData.SetText f
   MyData.PutInClipboard
End Sub
[/vba]

Автор - lopuxi
Дата добавления - 31.10.2016 в 17:43
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вопросы по VB, VBS, VB.net » Скопировать массив в буфер обмена для вставки методом Ctrl+V
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!