Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.03.2016
Сообщений: 4
1

Перенести данные из одного листа на другой

03.03.2016, 15:53. Показов 858. Ответов 8
Метки нет (Все метки)

Здравствуйте! Ребята, сломала себе уже голову, форум облазила весь, инет перерыла, помогите пожалуйста. На 1 листе есть данные, которые выборочно необходимо перенести на 2 лист. При чем так, чтобы данные обновлялись, когда на 2 листе меняешь дату.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения
Тип файла: 7z Рейсы1.7z (50.7 Кб, 7 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2016, 15:53
Ответы с готовыми решениями:

Перенести данные с одного листа на другой с условием
Задача передо мной стоит следующая. в книге два листа: на первом международный код услуги(1...

Перенести значение из одного листа в другой с условием
Приветствую! Возникла нужда в сортировке данных. Дело такое. Мне нужно чтобы значения ячеек...

Перенести информацию с одного листа Excel на другой
Возможно переносить информацию с одного листа Екселя на другой(каждый раз отступать) Переносить...

Уникальные значение в таблице Excel перенести с одного листа на другой
Здравствуйте!! Помогите, пожалуйста, срочно!!! очень-очень!!! есть огромная таблица, 5000...

8
3206 / 956 / 222
Регистрация: 29.05.2010
Сообщений: 2,074
03.03.2016, 17:40 2
Можно обойтись без VBA, используя сводную таблицу, см. приложкение
1
Вложения
Тип файла: rar Рейсы1.rar (58.1 Кб, 3 просмотров)
0 / 0 / 0
Регистрация: 03.03.2016
Сообщений: 4
04.03.2016, 09:59  [ТС] 3
Не совсем подходит, так как добавление навых позиций в реестре требует обновления источника данных, по другому не подтягивает новые значения. Таблица сводная непосредсвенно для директора, а он этого делать не будет/не умеет. Тут нужно чтобы дату поменял и все данные подтянулись
0
5440 / 1475 / 359
Регистрация: 23.12.2010
Сообщений: 2,206
Записей в блоге: 1
04.03.2016, 14:28 4
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Обновление_Оперативки()
    Const FirstRow1% = 3
    Dim i&, k&, d1%, d2%, d3%, LastRow&, A, Curdate As Date
    With Sheets("Реестр")
        LastRow = .Cells(.Rows.Count, 2).End(xlUp).Row
        A = .Range("A3:Y" & LastRow).Value
    End With
    With Sheets("Оперативка")
        Curdate = .[G1]
        With .UsedRange: LastRow = .Rows.Count + .Row - 1: End With
        .Range("A10:AA" & LastRow).Clear
        For i = 1 To UBound(A)
            If Curdate >= A(i, 2) And (Curdate <= A(i, 3) Or A(i, 3) = "") Then
                If A(i, 4) = "Аэробел" Or A(i, 4) = "ТД Строительный Альянс" Then
                    d1 = IIf(A(i, 4) = "ТД Строительный Альянс", 0, 13)
                    d2 = IIf(A(i, 14) = "Собственный", 0, 6)
                    d3 = IIf(A(i, 25) = "Фуры", 0, 3)
                    d1 = d1 + d2 + d3
                    k = .Cells(.Rows.Count, 3 + d1).End(xlUp).Row + 1
                    .Cells(k, 3 + d1) = A(i, 6)
                    .Cells(k, 4 + d1) = A(i, 20)
                    .Cells(k, 5 + d1) = A(i, 22)
                End If
            End If
        Next i
        If k > 0 Then
            With Range("C10:N" & k & ",P10:AA" & k)
                .Borders.LineStyle = xlContinuous
                .NumberFormat = "###0.00"
            End With
        End If
    End With
End Sub
1
Вложения
Тип файла: rar Рейсы2.rar (63.8 Кб, 2 просмотров)
0 / 0 / 0
Регистрация: 03.03.2016
Сообщений: 4
04.03.2016, 15:02  [ТС] 5
Макрос работает, но когда данных на конкретную дату больше, чем на другую, то данные не убираются. Например на 01.03 3 рейса, а на 2.03 1, так вот макрос обновляет первую строку, а 2 других остаются с прошлой даты и никуда не деваются, пока их не перекроет дата с большим кол-вом рейсов.
0
Вложения
Тип файла: 7z Рейсы3.7z (60.5 Кб, 2 просмотров)
3206 / 956 / 222
Регистрация: 29.05.2010
Сообщений: 2,074
04.03.2016, 15:11 6
Цитата Сообщение от Ivanova696 Посмотреть сообщение
требует обновления источника данных,
Если задать источником динамический диапазон, то все заработает как надо...
0
0 / 0 / 0
Регистрация: 03.03.2016
Сообщений: 4
04.03.2016, 15:13  [ТС] 7
Я задавала, но все равно обновления нет, приходилось перезадавать и так каждый раз.
0
3206 / 956 / 222
Регистрация: 29.05.2010
Сообщений: 2,074
04.03.2016, 15:31 8
Для автоматизации обновления сводной таблицы в модуле листа со сводной таблицей вставить код:
Visual Basic
1
2
3
Private Sub Worksheet_Activate()
    ActiveSheet.PivotTables("СводнаяТаблица1").PivotCache.Refresh
End Sub
0
5440 / 1475 / 359
Регистрация: 23.12.2010
Сообщений: 2,206
Записей в блоге: 1
04.03.2016, 16:41 9
В примере 3:
на 2.03 - 4 рейса, если дата разгрузки пустая - рейс еще длится и попадает в оперативку.
на 1.03 - 5 рейсов.
Все правильно срабатывает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2016, 16:41

Нужно перенести данные с 1 листа на другой соблюдая условия
Здравствуйте форумчане, возник вопрос по переноске данных с 1 листа на другой соблюдая определенные...

Разнести данные из одного листа в другой по условию
Есть 2 листа. Нужно сделать так что бы когда во 2 лист заводишь данные они переносились в 1 лист. 2...

Скопировать одинаковые данные с одного листа на другой
Вроде выражение правильное, но не работает. Столбы под соответствующими именами. Копировать...

Скопировать определенные данные с одного листа на другой
Здравствуйте,давно читаю и впервые понадобилась помощь,нужно чтобы с одного листа с определенного...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.