Фильтрация с помощью vba Excel - PullRequest
0 голосов
/ 04 мая 2018

Привет всем, я был бы очень признателен за вашу помощь в решении следующей проблемы:

У меня есть файл Excel, который содержит аппаратное получение, с различной частотой дискретизации в зависимости от значения (например, некоторые значения приобретаются при 100 мс, а другие при 10 мс в этом случае). Итак, у меня есть первый столбец со значением времени (каждая ячейка составляет 10 мс) и следующие столбцы с другими полученными значениями. Каждый столбец, который соответствует частоте сбора 100 мс, показывает 10 пустых ячеек после заполненной ячейки (в то время как 10 мс заполнены). Теперь мой вопрос: Как лучше всего отфильтровать все значения и создать новую таблицу с единственным значением, которое принимается каждые 1 с?
Благодарю. Вот скриншот (упрощенно)

Изображение файла

Image of the file

1 Ответ

0 голосов
/ 04 мая 2018

Я бы просто использовал пару таких петель

Option Explicit

Sub CopySeconds()
    Dim FirstRow, LastRow, inRow, inCol, outRow, outCol, colShift As Variant
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row
    FirstRow = 4
    outRow = FirstRow
    colShift = 10
    For inRow = FirstRow To LastRow
    If Not IsEmpty(Cells(inRow, 1)) And Int(Cells(inRow, 1)) = Cells(inRow, 1) Then
        For inCol = 1 To 4
        outCol = inCol + colShift
        Cells(outRow, outCol) = Cells(inRow, inCol)
        Next inCol
        outRow = outRow + 1
    End If
    Next inRow

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...