Подсчет количества использованных ячеек в столбце рядом с найденной строкой

#excel #vba

#excel #vba

Вопрос:

Вот ссылочный рисунок, который поможет показать, о чем я говорю.

http://imgur.com/a/L2Jyb

В моем 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. Всех этих «активных таблиц» можно избежать, если использовать «С активной таблицей» … Завершите «блок, как в моем ответе.