2016-09-21 3 views
0

を使用する:私はエクセルVBAでのCOUNTIF関数の相対参照(オフセット)を使用して、問題を抱えているエクセルVBAでのCOUNTIF関数の相対参照(オフセット)

buildRef.Offset(i, 2) = WorksheetFunction.CountIfs _ 
      (range, ">=" & buildRef.Offset(i, 1)) 

これは常に0になりますが私はそれが正解ではないことを知っています。ただし、

WorksheetFunction.CountIfs (range, buildRef.Offset(i, 1))は正解です。

誰でも私の言うことができますCOUNTIFS機能が機能しないのは、基準がある種の相対参照より大きい場合ですか?

+0

'buildRef.Offset(I、1))と' buildRef.Offset(1 Iなど)を交換してください。 –

+0

'buildRef'と'範囲のアドレス範囲が何であるかを[値] '? – Slai

+0

.valueを追加しても、正しい答えが得られません。 –

答えて

1

コードに問題はありません。 iのため、0が届いています。 .Offset(i, 1)は、参照していると思われるセルを参照していない可能性があります。 iの値をチェックするコードをステップ実行することをお勧めします。

以下は、動作を示す例です。どのように動作するかを示すために、iの値をハードコードしました。

Sub Sample() 
    Dim rng As Range, buildRef As Range 

    Set rng = [A1:A10] 
    Set buildRef = [D1] 

    buildRef.Offset(1, 2) = WorksheetFunction.CountIfs(rng, ">=" & buildRef.Offset(1, 1)) 
End Sub 

enter image description here

+0

私はoffset(i、1)の値をチェックしました。彼らは正しい。 –

+0

私はちょうどあなたがそれを示した。あなたのExcelファイルが見えますか?はいの場合は、無料のファイル共有サイトにアップロードし、ここでリンクを共有してください。またファイルと秘密の日付がダミーデータで置き換えられた場合 –

+0

申し訳ありませんが、私は仕事のファイルを共有することを許可していません。 –

関連する問題