Use
DataGridViewRow.Visible[
^] property.
Dim total = (From row As DataGridViewRow In Me.DataGridView2.Rows _
Where r.Visible And r.Cells("ExclTot").Value IsNot Nothing _
Select CDec(r.Cells("ExclTot").Value)).Sum
or:
Dim visibleRowsSum = DataGridView2.Rows.OfType(Of DataGridViewRow)().Where(Function(row) row.Visible And row.Cells("ExclTot") IsNot Nothing).Select(Function(row) CDec(row.Cells("ExclTot").Value)).Sum()