Страницы: 1
RSS
Вставка значений в отфильтрованные и скрытые столбцы
 
Добрый день, знатоки!
У меня есть такая задачка решение которой я найти не в силах.
У меня есть файл в котором хранится информация о всех начислениях в отделах, а также отдельные файлы каждого отдела из которых информация и переносится в основной файл. На данный момент сотрудники заполняют информацию в файле своего отдела и после этого уже другой сотрудник собирает эту информацию вручную и переносит в главный файл. Можно ли создать макрос который будет пропускать и скрытые столбцы и отфильтрованные строки?
В чем заключается сложность создания макроса: в основном файле есть скрытые столбцы (их количество не фиксировано, по истечению какого-то временного промежутка столбец скрывается) и также есть фильтр по отделам.
Прикрепляю пример.
 
Пример
Код
Sub Button1_Click()
    Dim Table As ListObject
    Dim NewRow As ListRow
    Set Table = [TSource].ListObject
    Set NewRow = Table.ListRows.Add
    With NewRow.Range
        .Columns(1).Value = "12Y"
        .Columns(2).Value = "Ля ля"
    End With
End Sub
 
Цитата
написал:
Пример
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8  9  10      Sub   Button1_Click()          Dim   Table   As   ListObject          Dim   NewRow   As   ListRow          Set   Table = [TSource].ListObject          Set   NewRow = Table.ListRows.Add          With   NewRow.Range              .Columns(1).Value =   "12Y"              .Columns(2).Value =   "Ля ля"          End   With    End   Sub   
 
Наверное, я просто неправильно донесла суть задачи :( У меня есть кнопочка которая создает 3 разных файла (по количеству упомянутых отделов) в этих файлах содержится отфильтрованные данные из основной таблицы. После того как сотрудники отделов обновили данные в своих файлах мне нужно эту информацию "собрать" в основной файл. То есть количество отделов всегда одинаково, а информация о выплатах меняется, её и нужно обновить посредством копирования и вставки)
 
Вероника Клячёнкова, Все верно, но реализация требует комплекс действий:
указать где находятся файлы исходники
скопировать из них поочередно и вставить в конечный файл.

На первый вопрос был дан ответ, как вставлять значения не обращая на фильтры.
 
Цитата
написал:
Вероника Клячёнкова, Все верно, но реализация требует комплекс действий:
указать где находятся файлы исходники
скопировать из них поочередно и вставить в конечный файл.

На первый вопрос был дан ответ, как вставлять значения не обращая на фильтры.
Все файлы хранятся в одной папке)
Но если  код, присланный выше не обращает внимания на фильтр и скрытые столбцы, то спасибо, обязательно с ним поработаю!
 
Цитата
Вероника Клячёнкова: Вставка значений в отфильтрованные и скрытые столбцы
СКРЫТЫЕ (даже группировкой) строки и столбцы не являются проблемой для вставки массива. ОТФИЛЬТРОВАННЫЕ же строки не получат значений из массива, но и ошибки не будет. Это что касается вставки массива или присвоения значений диапазону со скрытыми строками.
Вставка же Copy Paste вообще игнорирует скрытость и фильтр, но это сильно медленнее и сопоставимо со скоростью поячеечного заполнения (заполнять скрытые ячейки можно из массива поячеечно).

У вас в файле-примере диапазон для вставки ВИДИМЫЙ и я не вижу смысла вопроса. Тем более непонятно, зачем там вообще стоят фильтры и почему их нельзя снять.

"Решение" от skais675 мне непонятно - он предлагает вставить новую строку и заполнить её (скрытость никак не учитывается, т.к. новая строка всегда видимая будет), а у вас, судя про примеру, другая ситуация.
Изменено: Jack Famous - 26.10.2022 13:55:53
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
Цитата
Вероника Клячёнкова: Вставка значений в отфильтрованные и скрытые столбцы
СКРЫТЫЕ (даже группировкой) строки и столбцы не являются проблемой для вставки  массива . ОТФИЛЬТРОВАННЫЕ же строки  не получат  значений из массива, но и ошибки не будет. Это что касается вставки массива или присвоения значений диапазону со скрытыми строками.
Вставка же  Copy Paste  вообще игнорирует скрытость и фильтр, но это сильно медленнее и сопоставимо со скоростью поячеечного заполнения (заполнять скрытые ячейки можно из массива поячеечно).

У вас в файле-примере диапазон для вставки ВИДИМЫЙ и я не вижу смысла вопроса. Тем более непонятно, зачем там вообще стоят фильтры и почему их нельзя снять.

"Решение" от skais675 мне непонятно - он предлагает вставить новую строку и заполнить её (скрытость никак не учитывается, т.к. новая строка всегда видимая будет), а у вас, судя про примеру, другая ситуация.
Спасибо за развернутый ответ. Фильтр стоит для удобства копирования т.к. реализация копирования данных без фильтра из  разных файлов для меня вообще максимально непонятна пока что:(
Еще раз опишу процесс, это всё что я могу:
1) Есть основной файл с информацией по всем отделам, он макросом разделяется на три файла в каждом из которых содержится информация по ОДНОМУ отделу.
2) Позже в эти файлы "дочки" вносятся новые данные
3) Позже человек  заходит в каждый файл копирует значения, потом переходит в основной файл фильтрует по отделу и вставляет на место старых данных новые и так N-ое количество раз.
P.s в основном файле постоянны только два первых столбца, потом идут скрытые с информацией прошлых месяцев и после них информация с текущими месяцами.
 
Судя по названию Вам можно почитать ТУТ и ТУТ
Изменено: Msi2102 - 26.10.2022 14:13:48
 
Я бы через power query пошел. Много роликов тут у Павла как собирать таблицы из нескольких источников. Особенно просто если они все по шаблону.
Отдел&Наименование это будет ключ по которому будете объединять источник и приемник. Такое там просто накликать можно.
Страницы: 1
Наверх