Új hozzászólás Aktív témák

  • Fferi50

    Topikgazda

    válasz föccer #35863 üzenetére

    Szia!

    Ezt a makrót is megpróbálhatod:

    Sub masol()
    Dim rrange As Range
    Set rrange = Range(Range("A22"), Cells(Range("A22").End(xlDown).Row, Range("A22").End(xlToRight).Column)).SpecialCells(xlCellTypeVisible) ' a szűrés után látható cellák
    If rrange.Areas.Count = 1 Then 'ha egybefüggő a tartomány
    Set rrange = rrange.Rows(2) 'a második sor kell nekünk
    Else
    If rrange.Areas(1).Rows.Count >= 2 Then 'ha az első terület legalább 2 sorból áll
    Set rrange = rrange.Areas(1).Rows(2) 'a második sora kell nekünk
    Else
    Set rrange = rrange.Areas(2).Rows(1) 'az első terület egy sorból állt, ezért a második terület első sora kell nekünk
    End If
    End If
    With Rows(18) ' a 18. sorba átírjuk az értékeket.
    .Cells(1).Value = rrange.Cells(1).Value
    .Cells(5).Value = rrange.Cells(5).Value
    Range(.Cells(1, "o"), .Cells(1, "x")).Value = Range(rrange.Cells(1, "o"), rrange.Cells(1, "x")).Value
    End With
    End Sub

    Ez akkor működik hibátlanul, ha a szűrősorodban és az adattábládban mindenütt van adat, a tartomány végéig, nincsenek üres cellák közben.

    Üdv.

Új hozzászólás Aktív témák