0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 3

Добавление записей массива из одной книги на лист другой + возможная конкатенация

20.11.2013, 23:41. Показов 1688. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые форумчане!
Возник вопрос касательно познания средств VBA в Excel'e.
Идея такая: есть пользовательская форма, которую нужно заполнить. Выполняется процедура заполнения нормально, но меня попросили сделать к ней задание: добавить к массиву данных информацию из другого массива, который находится в другой книге.
Поясняю: в рабочей книге "td.xlsm" есть лист "Send", который содержит массив данных. Из книги "tdmassiv.xlsm" с листа "def" должны браться записи из другого массива и добавляться на лист "Send" в ПУСТУЮ строчку, т.е. после последней заполенной записи. Соответственно, после этого при заполнении формы в массиве будут отображаться и эти данные.
Мне сказали, что нужно похимичить с RowSource и контатенацией данных из листа "def", но я не совсем понимаю, как это сделать.
Заступорился на этом шаге. Процедура называется "Module2".
Буду очень благодарен за помощь!

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Dim fio() As String, comp() As String, street() As String, indeks() As String, gorod() As String, strana() As String
Sub test()
 
Workbooks.Open ThisWorkbook.Path & "\tdmassiv.xlsm"
Do Until IsEmpty(Cells(i + 1, 1))
i = i + 1
Loop
ReDim fio(i) As String
 
Do Until IsEmpty(Cells(i + 1, 2))
i = i + 1
Loop
ReDim comp(i) As String
 
Do Until IsEmpty(Cells(i + 1, 3))
i = i + 1
Loop
ReDim street(i) As String
 
Do Until IsEmpty(Cells(i + 1, 4))
i = i + 1
Loop
ReDim indeks(i) As String
 
Do Until IsEmpty(Cells(i + 1, 5))
i = i + 1
Loop
ReDim gorod(i) As String
 
Do Until IsEmpty(Cells(i + 1, 6))
i = i + 1
Loop
ReDim strana(i) As String
 
For k = 1 To i
fio(k) = Cells(k + 1, 1).Value
comp(k) = Cells(k + 1, 2).Value
street(k) = Cells(k + 1, 3).Value
indeks(k) = Cells(k + 1, 4).Value
gorod(k) = Cells(k + 1, 5).Value
strana(k) = Cells(k + 1, 6).Value
Next k
 
Do Until IsEmpty(Cells(n + 1, 1))
n = n + 1
Loop
 
Do Until IsEmpty(Cells(n + 1, 2))
n = n + 1
Loop
 
Do Until IsEmpty(Cells(n + 1, 3))
n = n + 1
Loop
 
Do Until IsEmpty(Cells(n + 1, 4))
n = n + 1
Loop
 
Do Until IsEmpty(Cells(n + 1, 5))
n = n + 1
Loop
 
Do Until IsEmpty(Cells(n + 1, 6))
n = n + 1
Loop
 
Cells(n + 1, 1).Select
Cells(n + 1, 2).Select
Cells(n + 1, 3).Select
Cells(n + 1, 4).Select
Cells(n + 1, 5).Select
Cells(n + 1, 6).Select
 
For j = 1 To i
Cells(n + j, 1) = fio(j)
Cells(n + j, 2) = comp(j)
Cells(n + j, 3) = street(j)
Cells(n + j, 4) = indeks(j)
Cells(n + j, 5) = gorod(j)
Cells(n + j, 6) = strana(j)
Next j
 
Workbooks("td.xlsm").Worksheets("Send").Activate
 
End Sub
td.xlsx
tdmassiv.xlsx
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.11.2013, 23:41
Ответы с готовыми решениями:

Перенос данных с одного листа одной книги на другой лист другой книги с константой
Добрый вечер, товарищи! Есть прайс-лист, который содержит в себе много колонок и строк. На ежедневной основе мне приходится распределять...

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

При изменении значения в одной книге, вставить лист из другой книги
Здравствуйте! Имеются два файла xls: "Книга рабочая" и "Книга с модулями". Необходимо чтобы, при выборе в "Книга рабочая" в...

1
0 / 0 / 0
Регистрация: 09.11.2013
Сообщений: 3
20.11.2013, 23:54  [ТС]
Прошу прощения за оговорку - конкатенация.
Я под вечер не очень соображаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2013, 23:54
Помогаю со студенческими работами здесь

Загрузить лист из одной книги в другую
Как загрузить лист из одной книги (Например 111.xls) в другую книгу вложенного файла на место Листа 1. На Листе 2 сделать кнопку...

Копирование строк на другой лист книги по условию
Доброго дня! По моей теме уже было много вопросов и ответов, но я, очевидно, совсем тормоз, не могу это применить для себя. Есть...

Копирование строк на другой лист книги по условию
Доброго дня! По моей теме уже было много вопросов и ответов, но я, очевидно, совсем тормоз, не могу это применить для себя. Есть...

Как сделать лист другой книги - скрытым
Добрый вечер, уважаемые форумчане. Подскажите решение. У меня есть макрос, который делает определенный лист другого файла .xls -...

Как скопировать лист Excel из одной книги в другую
Подскажите, пожалуйста, как скопировать целиком лист из одной книги в другую со всеми разделителями страниц, существующим форматом полей и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru