#excel #vba
#excel #vba
Вопрос:
Вот ссылочный рисунок, который поможет показать, о чем я говорю.
В моем For Next
цикле у меня есть следующий код.
Dim Counter As Long
For Counter = 0 To ActiveSheet.Rows(1).Cells.Find("QQQ").Offset(0, 1).End(xlUp).Row
Предполагается, что вы просматриваете строку 1, пока не найдете «QQQ», и подсчитываете количество использованных ячеек в столбце справа. Я не уверен, как сообщить Excel, как Count
использовать столбец смещения.
Причина, по которой я использую Find
, заключается в том, что на каждом из листов есть разные столбцы, в которых будут указаны критерии. Например: на рисунке выше столбец имеет значение Q. Это может отличаться в зависимости от листа.
Ответ №1:
Dim Counter As Long
With ActiveSheet
For Counter = 0 To .Cells(.Rows.Count, .Rows(1).Cells.Find("QQQ").Offset(,1).Column).End(xlUp).Row
' rest of your counter loop code
End With
Комментарии:
1. Похоже, сработало. Есть и другие проблемы, кроме этой. Просто чтобы все знали, что случайно наткнулись на этот пост.
For Counter = 0 To ActiveSheet.Cells(ActiveSheet.Rows.Count, ActiveSheet.Rows(1).Cells.Find("QQQ").Offset(0, 1).Column).End(xlUp).Row
Убедитесь, что вы добавилиActiveSheet
подобное. Спасибо.2. Всех этих «активных таблиц» можно избежать, если использовать «С активной таблицей» … Завершите «блок, как в моем ответе.