|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.09.2011, 22:17 | #1 |
Регистрация: 17.04.2009
Сообщений: 8
|
Выборка из таблицы и копирование строк
Добрый день. Прошу помощи, опыта в VB у меня почти нет.
Задача: есть таблица, надо пройти по ячейкам и если они равны некому эталлону, то всю строку скопировать на другой воркшит. Дополнительно: возможно проблема в конструкции копирования, я ее подсмотрел в одном примере в Интернете. Этот скрипт пробегает по всем ячейкам таблицы размером 10х100, в ячейке (1, 12) есть некоторое значение, с которым сравнивается содержимое каждой проверяемой ячейки, если оно совпадает, то всю строку, в которой находится эта ячейка, надо перекопировать на новый воркшит Result. Таким образом, на новом листе создастся новая таблица, в которой будут только необходимые нам строки. Sub macros1() Dim i As Integer Dim j As Integer Dim k As Integer On Error Resume Next Set NewSheet = Worksheets.Add NewSheet.Name = "Result" k = 1 For i = 1 To 100 For j = 1 To 10 Worksheets("Sheet1").Activate If Worksheets("Sheet1").Cell(i, j) = Worksheets("Sheet1").Cell(1, 12) Then Worksheets("Sheet1").Rows(i, i).Copy Worksheets("Result").Rows(k, k) k = k + 1 End If Next j Next i Worksheets("Result").Activate End Sub Новый лист создается, ничего не копируется. Пробовал менять процедуру копирования после then на простое выделение диапазона ячеек на новом листе - срабатывало, но срабатывало независимо от истинности условия в if. То есть конструкция if вроде как не работает. конкретной таблицы нет, сам накидал 6 строк и 4 столбца и поместил "1" в ячейку (1, 12) просто для проверки.
TNX a lot
|
27.09.2011, 22:40 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
А где пример?
Я уже вроде вчера этот вопрос видел - всё просто, но код на 90% неправильный. Но делать пример совершенно не хочется. И ещё - скажите, вам нужно только данные скопировать, или форматы и формулы тоже? (ну формулы то вряд ли...) P.S. Ладно, не 90%... Мне лучше так показалось. Хотя я бы делал иначе. если нужны только данные. Код:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 27.09.2011 в 23:06. |
30.09.2011, 10:56 | #3 | |
Регистрация: 30.09.2011
Сообщений: 5
|
Цитата:
Есть лист с произвольным количеством строк (неизвестно, сколько их будет заведено первоначально). Из него нужно сформировать новый лист для дальнейшей выгрузки в txt (и загрузке в систему), причем формирование происходит по следующему сценарию: некоторые ячейки итогового листа - изначально константы и таковыми должны оставаться (оранжевые), остальные формируются из исходного по условиям: если заполнена ячейка L1, то мы копируем в соответствующие ячейки нового листа значения совпадающих столбцов (таблицы исходного и целевого листов совпадают только по некоторым столбцам). Если заполнена ячейка M1 - то добавляем строчку, аналогично заполняя соответствующие аналитики. И так-для 4-х последних столбцов. То есть если в 1 строке исходного файла заполнены все 4 последние ячейки, то в итоговом листе должно появиться 4 новые строки. Сейчас в примере формируется 4 отдельных листа по условиям на каждую из ячеек, из которых планировалось потом собирать один общий, но хотелось бы изначально оптимизировать.. |
|
01.10.2011, 18:00 | #4 |
Регистрация: 17.04.2009
Сообщений: 8
|
Спасибо большое за помощь, все работает.
TNX a lot
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование строк таблицы по условию одной ячейки из Лист 1 в Лист 2 | Людвиг | Microsoft Office Excel | 5 | 25.10.2014 11:46 |
Копирование строк из одной таблицы в другую база данных paradox в делфи | igi3 | Помощь студентам | 1 | 20.06.2011 08:39 |
Выборка строк с определенной меткой из одной таблицы и автоматический перенос в новую таблицу. | dk01 | Microsoft Office Excel | 28 | 30.01.2011 18:16 |
Выборка выборка с таблицы с отношением многие-ко-многим | 8alig8 | БД в Delphi | 2 | 24.06.2010 12:21 |
Выборка строк из таблицы по значению TDBLookupComboBox | Gringo | БД в Delphi | 4 | 28.10.2008 05:45 |