Дорогие форумчане подскажите пожалуйста как найти в скрытых столбцах последний не пустой столбец в конкретной строке? Этот код находит последний по всему листу, а мне нужно только в одной строке.
ну судя по этому - перебор используемой области строки с проверкой на видимость.
Код
With shm
Set Rng = Intersect(.Rows(MyRow), .UsedRange)
If Not Rng Is Nothing Then
For Each cell In Rng
If .Columns(cell.Column).Hidden And cell <> "" Then clm = cell.Column
Next
End If
End With
With shm
On Error Resume Next
Set Rng = .Rows(MyRow).SpecialCells(xlCellTypeConstants)
If Not Rng Is Nothing Then Set Rng = Union(Rng, .Rows(MyRow).SpecialCells(xlCellTypeFormulas))
On Error GoTo 0
If Not Rng Is Nothing Then
For Each cell In Rng
If .Columns(cell.Column).Hidden And cell <> "" Then clm = cell.Column
Next
End If
End With
dim arr, res_col as long
With shm
'вычисляем последний видимый столбец со значением
clm = .Cells(MyRow, .Columns.Count).End(xlToLeft).column
'запоминаем все значения строки
arr = .Rows(MyRow,1).Value
'цикл от конца строки до последнего видимого столбца
For lc = Ubound(arr,2) to clm
If arr(1,lc) <> "" Then res_col = lc:exit for
Next
if res_col = 0 then res_col = clm
End With
Но если бы был пример данных - было бы лучше
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...