|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.09.2011, 11:31 | #1 |
Пользователь
Регистрация: 06.05.2011
Сообщений: 38
|
Операция по поиску и перемещению столбцов
Здравствуйте, столкнулся с проблемой по обработке информации в таблице.
Есть файл, который экспортируется из AutoCada в нём несколько десятков столбцов - это атрибуты. Задача - зная определенные атрибуты расположить столбцы с их сначением на следующем листе в определенном порядке. Что искать: (чтобы не загружать всем списком пусть будут первые 3 необходимых, остальные думаю искаться будут по аналогии): OPIS01, OPIS, DI. Как я вижу алгоритм: 1 Найти значение OPIS01. 2 Выделить и скопировать данный столбец 3 вставить данный столбец на следующий лист последним столбцом 4 Найти значение OPIS ... ... 5 Найти значение DI ... ... Попробовал сам, возникла сложность, не получается выделить и скопировать столбец с найденным значением и добавить на следующий лист последним столбцом |
12.09.2011, 12:55 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Пробуйте
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
12.09.2011, 13:03 | #3 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
Или как вариант в приложении.
|
13.09.2011, 11:54 | #4 |
Пользователь
Регистрация: 06.05.2011
Сообщений: 38
|
Спасибо огромное, всё работает великолепно, обработал все нужные файлы всего за несколько минут, в то время как с первым возился пару часов.
Для полной автоматизации процесса осталось решить ещё одну задачу: В полученном файле столбец A это контур (E,F) и (I,J) и (M,N)-описание и канал. Необходимо на новом листе получить таблицу, где в столбцы A,B,C записывались бы значения из соответствующих ячеек: Вид 1 строки таблицы 1 во второй таблице A B C 1 A E F 2 A I J 3 A M N Вид 2 строки таблицы 1 во второй таблице A B C 4 A E F 5 A I J 6 A M N и т.д. |
13.09.2011, 12:24 | #5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Объясните подробнее. Это еще один новый лист? Дайте пример что есть - что надо получить.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
13.09.2011, 12:31 | #6 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
Если я правильно понял логику то Вам простоо необходимо произвести обьединение столбцов через знак & или просто прописать чтобы всталяло формулу и протягивало её до конца: =A1&B1&C1
|
14.09.2011, 05:51 | #7 |
Пользователь
Регистрация: 06.05.2011
Сообщений: 38
|
Здравствуйте, в приложении пример исходной информации и как она должна обрабатываться.
|
14.09.2011, 07:11 | #8 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
Вот, например.
|
14.09.2011, 09:42 | #9 |
Пользователь
Регистрация: 06.05.2011
Сообщений: 38
|
Спасибо! Работает для данного примера отлично.
Только в коде разобраться не смог :-( В частности в: i = UBound(x, 1) * UBound(x, 2) \ 3: ReDim y(1 To i, 1 To 3) k = 1: y(k, 1) = x(1, 1): y(k, 2) = x(1, 2): y(k, 3) = x(1, 3) и k = k + 1: y(k, 1) = s: y(k, 2) = x(i, j): y(k, 3) = x(i, j + 1) не сложно пояснить? В результате возникли следующие вопросы: 1 как происходит выбор столбцов, с которых забираем Описание и Характеристику 2 как измениться код, если добавить ещё 2 столбца с описанием и характеристикой в исходную таблицу. 3 как измениться код, если описание и характеристика окажется не рядом, а через столбец. |
14.09.2011, 11:00 | #10 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
i = UBound(x, 1) * UBound(x, 2) \ 3: ReDim y(1 To i, 1 To 3) - определяем размер выходного массива
k = 1: y(k, 1) = x(1, 1): y(k, 2) = x(1, 2): y(k, 3) = x(1, 3) - 1-я строка (шапка) итоговой таблицы k = k + 1: y(k, 1) = s: y(k, 2) = x(i, j): y(k, 3) = x(i, j + 1) - заполняем выходной массив 1 как происходит выбор столбцов, с которых забираем Описание и Характеристику For j = 2 To UBound(x, 2) Step 3 - начиная со 2-го столбца исходной таблицы с шагом 3 столбца, вправо до конца 2 как изменится код, если добавить ещё 2 столбца с описанием и характеристикой в исходную таблицу. если 2, то все надо будет менять. Добавляйте по 3 столбца, чтобы шаг остался неизменным 3 как изменится код, если описание и характеристика окажутся не рядом, а через столбец. т.е. будет: Описание, Сигнал, Характеристика - k = k + 1: y(k, 1) = s: y(k, 2) = x(i, j): y(k, 3) = x(i, j + 2) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дан двухмерный массив из 20 столбцов. Вставить в него столбец из чисел 10 после всех четных столбцов. | Дмитрий142 | Помощь студентам | 9 | 07.06.2012 19:32 |
вывод номеров столбцов матрицы и подсчитать количество этих столбцов | Vitalina69 | Помощь студентам | 2 | 15.02.2011 21:52 |
Вопрос по перемещению курсора | MoDErahN | Общие вопросы Delphi | 9 | 19.03.2010 10:53 |
Вопрос по формам и перемещению объектов | like_cloud | Общие вопросы Delphi | 6 | 11.12.2009 21:49 |
небольшой вопрос по перемещению файлов в c# | adwaer | Помощь студентам | 0 | 05.11.2009 11:08 |