2016-10-06 4 views
0

ここでは、私が何を話しているかを示すのに役立つ参考図があります。私For Nextループでは見つかった文字列の隣の列にある使用済みセルの数を数えよう

http://imgur.com/a/L2Jyb

私は、次のコードを持っています。

Dim Counter As Long 

For Counter = 0 To ActiveSheet.Rows(1).Cells.Find("QQQ").Offset(0, 1).End(xlUp).Row 

これは、「QQQ」を見つけるまで、1行目に目を通すとすぐ右の列で使用される細胞を数をオフにカウントすると仮定しています。私はどのようにCountオフセットの列にどのようにExcelに指示するか分からない。

私が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 
+0

働いているようです。これ以外にも問題があります。ちょうど誰もがこのポストにつまずいて起こることを知っているように。 (0,1).Column).End(xlUp).Row' Make = "0"に設定すると、カウンタが0の場合はActiveSheet.Cells(ActiveSheet.Rows.Count、ActiveSheet.Rows(1).Cells.Find( "QQQ" 'ActiveSheet'を追加するようにしてください。ありがとう。 – Keizzerweiss

+0

これらの「ActiveSheet」は、「With ActiveSheet ... End With」ブロックを使用すると回避できます。 – user3598756

関連する問題