С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 02.02.2011
Сообщений: 12
1

Народ подскажите макрос который бы из одной таблицы по id вписывал содержимое в другую?!

02.02.2011, 13:17. Показов 1279. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Т.е у меня талица в 3000 строк,в каждой строке от 1 до 7 id номера..расставленные рандомно, и во второй табле этим же id от 1 до 7 присвоены некоторые знчения!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2011, 13:17
Ответы с готовыми решениями:

Как добавить (совместить) содержимое одной таблицы в другую
Как добавить (совместить) содержимое одной таблицы в другую в phpmyadmin Помогите разобраться с...

Макрос для добавления нужных строк из одной таблицы в другую
Добрый день! Я полный новичок в написании макросов, и мне крайне необходима помощь.. Ситуация:...

Подскажите как копировать данные из одной таблицы в другую
Компоненты такие:adotable,datasource,dbgrid,ADOConnection.У меня есть 3 таблицы:Все...

Подскажите как сделать в форме с в access 2010 перенос данных из одной таблицы в другую!
Хотелось-бы в форме "поиск сотрудника" когда находишь определённого человека ставишь рядом флажок в...

9
Заблокирован
02.02.2011, 14:09 2
Progmatik,
выложите примеры файлов.
0
204 / 43 / 6
Регистрация: 15.10.2010
Сообщений: 125
02.02.2011, 14:10 3
не совсем поняла "id от 1 до 7". Т.е. в одной ячейке может быть перечислено сразу несколько id?И еще вопрос: во второй таблице каждому id соответствует только 1 значение, или в разных ячейках разным сочетаниям id соответствуют разные значения и надо подливать в таб 1 значения по этому принципу. Чтобы понять постановку задачи,приведите пример табл.1 и табл.2 (кусочки таблиц, обязательно содержащие колонку с id, тогда получиться помочь)
0
0 / 0 / 0
Регистрация: 02.02.2011
Сообщений: 12
02.02.2011, 14:13  [ТС] 4
Вот пример
Вложения
Тип файла: xls eso_obl.xls (1.4 Кб, 36 просмотров)
Тип файла: rar Оригинал (Копия не удалять).rar (238.1 Кб, 18 просмотров)
0
0 / 0 / 0
Регистрация: 02.02.2011
Сообщений: 12
02.02.2011, 14:15  [ТС] 5
Цитата Сообщение от Helen_fire Посмотреть сообщение
не совсем поняла "id от 1 до 7". Т.е. в одной ячейке может быть перечислено сразу несколько id?И еще вопрос: во второй таблице каждому id соответствует только 1 значение, или в разных ячейках разным сочетаниям id соответствуют разные значения и надо подливать в таб 1 значения по этому принципу. Чтобы понять постановку задачи,приведите пример табл.1 и табл.2 (кусочки таблиц, обязательно содержащие колонку с id, тогда получиться помочь)


Скинул таблицы
Там допустим
1-минск
2-гродно и так далее в одной таблице


а во второй просто перечислены эти айди
0
Заблокирован
02.02.2011, 14:49 6
Цитата Сообщение от Progmatik Посмотреть сообщение
в каждой строке от 1 до 7 id номера
назовите название файла и номер строки, где больше 1 id встречается.
0
204 / 43 / 6
Регистрация: 15.10.2010
Сообщений: 125
02.02.2011, 15:09 7
все очень просто. ловите макрос:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim n%
Dim rw As Double
Dim wbk1, wbk2
Dim mas_reg(10000) ' чтобы не переопределять массив(если количество id увеличится) сделаем его сразу большим
 
wbk1 = "eso_obl1.xls"
wbk2 = "eso_eso.xls"
 
For n = 2 To Workbooks(wbk1).Sheets(1).Cells(1, 1).CurrentRegion.Rows.Count
mas_reg(Workbooks(wbk1).Sheets(1).Cells(n, 1).Value) = Workbooks(wbk1).Sheets(1).Cells(n, 2).Value
Next
 
'для проверки вставим пустую колонку и введем данные в нее, хотя можно заменить и в текущей
 
Workbooks(wbk2).Sheets(1).Columns(6).Insert
For rw = 2 To Workbooks(wbk2).Sheets(1).Cells(1, 1).CurrentRegion.Rows.Count
Workbooks(wbk2).Sheets(1).Cells(rw, 6).Value = mas_reg(Workbooks(wbk2).Sheets(1).Cells(rw, 5).Value )
Next
 
End Sub
Пользуйтесь ;-)
1
Заблокирован
02.02.2011, 15:28 8
Цитата Сообщение от Helen_fire Посмотреть сообщение
CurrentRegion.Rows.Count
а если пустые ячейки будут, а после них снова текст пойдёт.

Добавлено через 3 минуты
Вот так правильно:
Visual Basic
1
2
Set wbk1 = Workbooks("eso_obl1.xls").Sheets(1)
wbk1.Cells(1, 1)
Добавлено через 2 минуты
Цитата Сообщение от Helen_fire Посмотреть сообщение
Dim rw As Double
порядковые числа строк и столбцов всегда целые.
0
204 / 43 / 6
Регистрация: 15.10.2010
Сообщений: 125
02.02.2011, 15:37 9
да, кстати, если в столбце 5 встретятся пустые значения, тогда вариант такой:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub massiv_region() 
 
Dim n%
Dim rw As Double
Dim wbk1, wbk2
Dim mas_reg(10000)
 
wbk1 = "eso_obl1.xls"
wbk2 = "eso_eso.xls"
 
mas_reg(0) = ""
For n = 2 To Workbooks(wbk1).Sheets(1).Cells(1, 1).CurrentRegion.Rows.Count
mas_reg(Val(Workbooks(wbk1).Sheets(1).Cells(n, 1).Value)) = Workbooks(wbk1).Sheets(1).Cells(n, 2).Value
Next
'для проверки вставлен столбец, но можно и заменить значения в столбце 5
 
Workbooks(wbk2).Sheets(1).Columns(6).Insert
For rw = 2 To Workbooks(wbk2).Sheets(1).Cells(1, 1).CurrentRegion.Rows.Count
Workbooks(wbk2).Sheets(1).Cells(rw, 6).Value = mas_reg(Val(Workbooks(wbk2).Sheets(1).Cells(rw, 5).Value))
Next
End Sub
1
0 / 0 / 0
Регистрация: 02.02.2011
Сообщений: 12
03.02.2011, 11:48  [ТС] 10
Цитата Сообщение от Helen_fire Посмотреть сообщение
все очень просто. ловите макрос:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim n%
Dim rw As Double
Dim wbk1, wbk2
Dim mas_reg(10000) ' чтобы не переопределять массив(если количество id увеличится) сделаем его сразу большим
 
wbk1 = "eso_obl1.xls"
wbk2 = "eso_eso.xls"
 
For n = 2 To Workbooks(wbk1).Sheets(1).Cells(1, 1).CurrentRegion.Rows.Count
mas_reg(Workbooks(wbk1).Sheets(1).Cells(n, 1).Value) = Workbooks(wbk1).Sheets(1).Cells(n, 2).Value
Next
 
'для проверки вставим пустую колонку и введем данные в нее, хотя можно заменить и в текущей
 
Workbooks(wbk2).Sheets(1).Columns(6).Insert
For rw = 2 To Workbooks(wbk2).Sheets(1).Cells(1, 1).CurrentRegion.Rows.Count
Workbooks(wbk2).Sheets(1).Cells(rw, 6).Value = mas_reg(Workbooks(wbk2).Sheets(1).Cells(rw, 5).Value )
Next
 
End Sub
Пользуйтесь ;-)
Вери сенк))
0
03.02.2011, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2011, 11:48
Помогаю со студенческими работами здесь

Скопировать id с одной таблицы на другую таблицу другую форму
Добрый день! Подскажите, как и где написать,чтобы id с одной таблицы скопировался в другую таблицу...

Вытаскиваем необходимые данные из одной таблицы и вписываем в другую на одной странице
Всем привет ..... сразу к делу <?php $res = mysql_query("SELECT id FROM `album`...

Копирование данных из одной таблицы в другую в пределах одной базы. Не работает счетчик
Делаю копирование данных из одной таблицы в другую в пределах одной базы. procedure...

Скопировать все содержимое из одной папки в другую
Объясните, рожалуйста, как скопировать все содержимое из папки /abc в папку /bcd( нужно скопировать...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru