Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Копирование в массив определенных столбцов диапозона
 
Доброго времени суток!

Не могу сообразить как скопировать в массив только определенные столбцы с листа. Например, мне из файла "выгрузка1_тест" нужно скопировать в массив только столбцы ИНН и Организация. При этом, если в файле нет одного из столбцов, нужно выдать ошибку.
Как работает:
1. открываем файл "выборка_t" заходим в редактор и запускаем форму f_index
2. в поле организация выбираем файл "выгрузка1_тест"
вся обработка происходит в модуле "obrabotka"

вот код, где ищу номера столбцов в файле "выгрузка1_тест":
Код
    s = 1
    For j = 1 To UBound(n_org)
        For i = 1 To lLastColOrg
            If ar_org_t(1, i) = n_org(j) Then
                n_org_i(s) = i
                s = s + 1
            End If
        Next
    Next
    nn = UBound(n_org_i)
ar_org_t(1, i) - массив с название шапки из файла выгрузка1_тест
n_org(j) - это массив с названием нужных столбцов

И мне как-то надо определить все ли элементы массива n_org(j) нашлись в массиве ar_org_t(1, i)

Заранее спасибо! :)
Изменено: kate14 - 09.03.2015 18:08:26
ошибка при копировании диапазона в массив
 
Казанский, там не только числа, там текст и числа (в основном текст). Я не смотрела сколько памяти доступно, но я все другие программы закрываю..
ошибка при копировании диапазона в массив
 
Юрий М, завтра попробую по строкам разбить.. Спасибо :)
ошибка при копировании диапазона в массив
 
Юрий М, может при копировании как-то скопировать только те столбцы которые участвуют в расчете. Что-то типа:
Код
ar = Range(Cells(1, 1), Cells(1, ILastColOrg)).Value 'копируем шапку с названием строк
'находим первый нужный столбец
For i to ILastColOrg
   if ar(1,i)="Название нужного столбца"
      n1=i 'запомнили номер
   End IF
Next
For i to ILastColOrg
   if ar(1,i)="Название нужного столбца2"
      n21=i 'запомнили номер
   End IF
Next
'и потом раз 15 скопировать нужные данные
ar = Range(Cells(1, 1), Cells(n1, ILastColOrg)).Value
ar = Range(Cells(1, 1), Cells(n2, ILastColOrg)).Value
Больше в голову ничего не приходит.. Будет страшненько, но без ошибок
ошибка при копировании диапазона в массив
 
Юрий М, в коде я тестировала, вручную число столбцов вносила. Он без ошибки скопировал только 10 (а в массиве их 90), ILastrowOrg = 556000

Я так поняла надо сделать так:
Код
ar = Range(Cells(1, 1), Cells(ILastrowOrg, 10)).Value    
ar2 = Range(Cells(1, 10), Cells(5ILastrowOrg, 20)).Value
ar2 = Range(Cells(1, 20), Cells(5ILastrowOrg, 30)).Value
Но потом работать будет жутко неудобно.. Но попробую
ошибка при копировании диапазона в массив
 
vikttur, я вот думаю, если копировать частями, как потом объединять и работать с этими массивами?
Юрий М, у меня и дома и на работе по 2..
ошибка при копировании диапазона в массив
 
Юрий М, та же ошибка.. На тестовом массиве попробовала
ошибка при копировании диапазона в массив
 
Юрий М,
Код
Dim ar As Variant
ошибка при копировании диапазона в массив
 
vikttur, я уже тоже думала.. Но из-за того, что мне нужно обрабатывать весь массив по определенным условиям и выводить только "отсортированные" данные, я передумала.  
ошибка при копировании диапазона в массив
 
Доброго времени суток!
Подскажите быстрый способ копирования диапазона в массив. Я всегда использовала:
Dim ar As Variant
ar = Range(Cells(1,1), Cells(1000, 10))
Но сегодня столкнулась с проблемой, большой диапазон (строк 560к, столбцов 90к) нельзя скопировать таким образок, выдает ошибку - приложила. При ограничении размера массива, всё работает хорошо...
Заранее спасибо

PS: файл макроса не могу забрать с работы
Изменено: kate14 - 02.03.2015 22:42:01
Выборка данных на сводный лист
 
Sanja, я к своему стыду не умею... :(  
Выборка данных на сводный лист
 
Юрий М, а можете пример как бы вы реализовали?  
Выборка данных на сводный лист
 
ikki, да у меня перебирает ячейки и копирует их.. Потом определяет сколько строк в первой таблицы и под ней создаёт вторую со звонками.
Самый большой массив 560 тысяч
Думала может кто -то решал подобные задачи
Выборка данных на сводный лист
 
На работе остался, не могу взять домой
Выборка данных на сводный лист
 
Доброго времени суток! Нужна помощь ваша помощь.
Пользователь открывает книгу и в ячейку вводит название клиента. Внизу есть 3 таблицы: данные по клиенту, последние операции, последние звонки. Таблицы формируются после нажатия на кнопку "Поиск".
Проблема в том, что на листах "Операции", "Звонки" и "Данные о клиентах" находятся большие массивы. Я не могу придумать как сделать так, чтобы всё не висло на 5 минут при поиске данных для каждого клиента. Во вложенном файле описала задачу. Заранее спасибо за ответы!
Выборка данных в таблицу при выборе значений из выпадающих списков
 
Юрий М, хорошо спасибо :)
Выборка данных в таблицу при выборе значений из выпадающих списков
 
Юрий М, я не знала как это ещё можно назвать ;)
Выборка данных в таблицу при выборе значений из выпадающих списков
 
V, ага так :) Спасибо, разобралась!
Выборка данных в таблицу при выборе значений из выпадающих списков
 
Спасибо всем, разобралась! Файл приложила   :)  

Юрий М и Xapa6apga очень помогли! Спасибо!

Z, спасибо, я прочитала. Понравился Способ2 (см. файл примера). Удобнее моего способа! :)
Выборка данных в таблицу при выборе значений из выпадающих списков
 
Я хочу исключить возможность когда выбираешь "Алтай", например, появляется список фио "Петрова, Собака, Тест2" - выбрал "Петрова". Потом выбираем Бийск, а во втором списке остается  "Петрова". Только после того как нажмешь на список, появляются новые данные для города "Бийск".

Xapa6apga, при таком изменение первый список не работает :(
Выборка данных в таблицу при выборе значений из выпадающих списков
 
Цитата
Что "тоже самое"?
Когда выбирается город, список с ФИО обнуляется (чтобы исключить ошибку "По заданным критериям данных не найдено.") , а в таблице отфильтровываются данные по городу. Такое возможно? Спасибо
Выборка данных в таблицу при выборе значений из выпадающих списков
 
Оба варианта подходят!
В вариант  Xapa6apga при выборе в первом списке обнуляется второй - исключает ошибки.
Юрий М, можно как сделать тоже самое в вашем варианте? И как добились исключение пустых строк из списка?
Спасибо большое за ответ, очень благодарна!!
Выборка данных в таблицу при выборе значений из выпадающих списков
 
Добрый день!
Пишу небольшой обработчик, который будет из большого массива формировать данные в удобной форме и столкнулась с проблемами:
1. Необходимо отсортировать (подтянуть) нужные данные в таблицу при выборе значения из списка (пример в файле, лист "пример1" ;)  .

2. Как сформировать список без пустых строк. Я формирую связанные списке, но набор данных в списке с фио всегда разный (кол-во сотрудников будет меняться) и поэтому в качестве источника данных выбираю весь столбец. При таком способе в списке появляются лишние пустые строки. Думаю, с помощью VBA определять размер массива и присваивать имена?

Заранее спасибо!
Изменено: kate14 - 06.01.2015 14:41:38
Страницы: 1
Наверх