powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программная передача значений елементов массива из одной книги Excel в другую
3 сообщений из 3, страница 1 из 1
Программная передача значений елементов массива из одной книги Excel в другую
    #36313368
Mishel97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброе время суток !

По аналогии с передачей значения одной переменной http://www.cyberforum.ru/vba/thread55483.html, очевидно с помощью объектов Excel можно передать и значения елементов массива из одной книги Excel (Книга2) в другую (Книга1), примерно так:

Код в Книге2

Sub test2()
For intD=1 To n
Application.Объект(intD).Tag = arrA(intD)
Next intD
End Sub

Код в Книге1

Sub test1()
For intD=1 To n
arrB(intD) = Application.Объект(intD).Tag
Next intD
End Sub

Такой вопрос : какой объектом Excel для передачи не менее 33-ох значений елементов массива из одной книги Excel в другую подойдёт наилучшим образом ?
И такой вопрос : есть ли специально предназначенный объект Excel для таких целей ?
...
Рейтинг: 0 / 0
Программная передача значений елементов массива из одной книги Excel в другую
    #36331469
jjex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mishel97,
копи-пасте

Range("B2:B4").Select
Selection.Copy
Sheets("Лист2").Select
Range("B3").Select
ActiveSheet.Paste
...
Рейтинг: 0 / 0
Программная передача значений елементов массива из одной книги Excel в другую
    #36332147
Mishel97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jjex ! Спасибо за поддержку темы.

Передать значения елементов массива можно и с помощью копи-пасте. При таком способе передачи значений используется ячейка листа. Ищу же способ передачи значений без использоывания ячеек. В некоторых случаях ячейки замедляют скорость передачи даных.

Массив в Книге2 формируется с помощью, например, елемента управления OptionButton на форме. Таким образом массив находится в модуле для фомы, его значения доступны и в других модулях.

If OptionButton1.Value = True Then
arrA(intJ) = UserForm1.OptionButton1.Caption
End If
If OptionButton2.Value = True Then
arrA(intJ) = UserForm1.OptionButton2.Caption
End If
If OptionButton3.Value = True Then
arrA(intJ) = UserForm1.OptionButton3.Caption
End If
и т. д.

Теперь есть два варианта передачи значений елементов массива в Книгу1.

1. Передать значения елементов массива ячейкам в Книге2, тогда ячейки Книги2 будут доступны для чтения из Книги1.

2. Передать значения елементов массива в Книге2 для чтения напрямую в Книгу1.

Но как эти значения елементов массива увидеть в Книге1? Очевидно необходим контейнер, т. е. объект Excel, в который можно записать значения, а потом и прочитать. Ячейка есть контейнер - объект, поэтому её значения в Книге2 видны из Книги1.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программная передача значений елементов массива из одной книги Excel в другую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]