Если вы используете счетчик для строк, даже если строка скрыта, она все равно даст вам значение этой строки.
Для того, чтобы строка не была скрыта, вам потребуются дополнительные строки.
Возможно, достаточно просто пройтись по видимым ячейкам.
Кстати: я не уверен, где заканчиваются ваши значения, вам придется изменить это в своем коде.
![enter image description here](https://i.stack.imgur.com/uLlKO.jpg)
Код будет перебирать видимые ячейки в столбце E, также проверять имя листа в коде, в этом я тоже не был уверен.
Sub Button2_Click()
Dim wss As Worksheet, sh As Worksheet, LstRw As Long, rng As Range, c As Range, Lr As Long
Set wss = Sheets("Sheets(Wss)")
Set sh = Sheets("EBS Posting template")
With wss
LstRw = .Cells(.Rows.Count, 8).End(xlUp).Row
.Range("A1").AutoFilter Field:=8, Criteria1:="Vesztesg"
Set rng = .Range("E2:E" & LstRw).SpecialCells(xlCellTypeVisible)
For Each c In rng.Cells
With sh
Lr = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
.Cells(Lr, "C").Value = c
.Cells(Lr, "O").Value = c.Offset(, 1)
.Cells(Lr, "G").Value = c.Offset(, 5)
End With
Next c
.AutoFilterMode = False
End With
End Sub