Страницы: 1
RSS
Добавление данных по условию
 
Добрый день. Есть файл, в нем две вкладки. В первую вкладку "Данные" заносятся все необходимые данные. Во вторую вкладку "Таблица" переносятся данные только те, на против которых в колонке "Условие" (столбец А) стоит "1". Условие зависит от колонки G "Статус", если он меняется то и условие меняется, и соответственно может либо пропадать, либо появляться во вкладке "Таблица". Данные будут добавляться. Пробовал сделать через формулу Индекс, но она начинает дублировать значения, после первого нуля, подскажите как можно этого избежать, или как можно сделать это по другому. Хотя бы на примере одного столбца. Спасибо.
 
А если изменить результат условия?
см. файл
пойдет?
 
Интересный вариант, а главное простой, спасибо. Попробую применить к основному файлу.
 
Честно говоря не понятно зачем столбец Условие при наличии столбца Статус?
Вариант макросом. В модуле листа Данные. Выбор Статуса реализован выпадающим списком
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("G")) Is Nothing Then
    Dim arrTemp
    lRow = Cells(Rows.Count, "G").End(xlUp).Row
    arrVal1 = Range("B2:C" & lRow).Value
    arrVal2 = Range("F2:G" & lRow).Value
    ReDim arrTemp(1 To 3, 1 To UBound(arrVal2))
    For I = LBound(arrVal2) To UBound(arrVal2)
        If arrVal2(I, 2) = "А" Then
            N = N + 1
            ReDim Preserve arrTemp(1 To 3, 1 To N)
            arrTemp(1, N) = arrVal1(I, 1)
            arrTemp(2, N) = arrVal1(I, 2)
            arrTemp(3, N) = arrVal2(I, 1)
        End If
    Next
    With Worksheets("Таблица")
        .Range("A2:C" & .Cells(.Rows.Count, "C").End(xlUp).Row).ClearContents
        .Range("A2").Resize(N, 3) = Application.Transpose(arrTemp)
    End With
End If
End Sub
Изменено: Sanja - 10.09.2016 10:11:58
Согласие есть продукт при полном непротивлении сторон
 
Есть один нюанс у этого макроса. Если поставить статус А, то все ок. Но если статус А вернуть на статус Б, то данные в таблице останутся, а мне надо, чтобы при изменении статуса с А на другой данные исчезали. Я воспользовался вариантом с формулой, впринцепе все получилось. Но был бы благодарен, если бы вы помогли доработать ваш макрос, чтобы при изменении статуса А на другой статус, в таблице данные исчезали. Он может пригодится в будущем, когда лишнее условие создавать не предоставится возможным.
 
Цитата
Дмитрий написал:
а мне надо, чтобы при изменении статуса с А на другой данные исчезали
в Вашем файле-примере так и происходит
Согласие есть продукт при полном непротивлении сторон
 
Используйте Pivot.
 
Цитата
Sanja написал: в Вашем файле-примере так и происходит
А точно, почему-то, первый раз пробовал, не исчезали данные. Спасибо большое!
Страницы: 1
Наверх