получить значение из двух переменных для каждого диапазона в отфильтрованном листе со скрытыми столбцами и строками - PullRequest
0 голосов
/ 20 марта 2019

Это не просто получить значения, не знаю, с чего начать писать код

Я добавил картинку с маркировкой, которая позволит объяснить ситуацию

sample of worksheet

вот и я говорю, что я пытаюсь

значения времени красного столбца с красной стрелкой должны находиться в диапазоне al "чч: мм: сс" но также должен оставаться в исходном столбце, так как видимая короткая дата полное значение исходного cel содержит значение «dd: mm: yyyy hh: mm: ss» и первая строка в отфильтрованных строках диапазона «15: 80015» должна быть пропущена

секунда такая же, как и у серого столбца с серой стрелкой, которая должна быть в am "чч: мм: сс" но здесь первая ячейка не должна быть пропущена, так что я могу суммировать временные значения al-am и посмотреть, когда она имеет разницу более 10 минут

надеюсь, это поможет написать код или есть простой способ сделать это. в этом столбце значение S ячейки +1 строка суммирует столбец t значение ячейки и помещает значение в диапазон al am или

когда использование столбца t скрыто, но теперь я показываю его, чтобы объяснить так что это должно работать, когда столбец t скрыт

код, который у меня есть на данный момент, это

Private Sub CheckBox7_Click()
    Call man
    Dim rng As Range, cll As Range, i As Integer, al(80015) As Variant
    'Dim i As Long
    Dim cll2 As Range
    Dim i2 As Long
    'Dim lijnen As Range
    'Dim lijnen2 As Range
    Dim lijnen As String
    Dim lijnen2 As String
    Dim lstijd As String
    Dim lstijd2 As String
    Dim lstot As String
    Dim lslijn As String
    lijnen = "t15:t" & Range("t15").End(xlDown).Row
    lijnen2 = "s16:s" & Range("s16").End(xlDown).Row


    Application.ScreenUpdating = False
    For Each cll In Range(lijnen).SpecialCells(xlCellTypeVisible)
        If cll.Value <> "" Then
            For Each cll2 In Range(lijnen2).SpecialCells(xlCellTypeVisible)
                lstijd = Range("s" & cll.Row + cll2.Row - cll.Row)
                Range("am" & cll.Row) = cll.Value
                Range("al" & cll.Row) = lstijd
            Next
        End If
    Next

    lstijd = ""

    Application.ScreenUpdating = True
    Call oto

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