私は、範囲CCAddedGPSumが何もないかどうかを調べるためにIf文をテストしていますが、テストするときにはそうでないと判断します。[Range] Is Nothing文が変数がNothingであることを検出できないのはなぜですか?
Debug.Print CCAddedGPSum.Value
を使用すると、変数がSet
ではないことを示すオブジェクトが必要であると主張するエラーが表示されます。これがなぜIs Nothing
として返されないのですか?ここで
はコードです:
If CCAddedGPSum Is Nothing Then 'Once here, ignores the test and continues to "END IF"
Set CCAddedGPSum = Range(CCGPSum.Offset(1, -3), CCGPSum.Offset(1, 1))
CCAddedGPSum.Insert shift:=xlDown
Set CCAddedGPSum = Range(CCGPSum.Offset(1, -3), CCGPSum.Offset(1, 1))
CCAddedGPSum.Interior.ColorIndex = 0
CCAddedGPSum.Insert shift:=xlDown
Set CCAddedGPSum = Range(CCGPSum.Offset(1, -3), CCGPSum.Offset(1, 1))
CCAddedGPSum.Interior.ColorIndex = 0
Set CCAddedGPTitle = Range(CCGPSum.Offset(1, -2), CCGPSum.Offset(1, -1))
With CCAddedGPTitle
.MergeCells = True
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
End With
CCAddedGPTitle.Value = "Removed from Deposit:"
Set CCAddedGPSum = CCGPSum.Offset(1, 0)
If CCAddedGPSum2 Is Nothing Then
CCAddedGPSum.Borders(xlEdgeBottom).LineStyle = xlContinuous
End If
If CCGPSum.Offset(-1, 0).Text = "" Then
Set CCGPSubtotal = CCGPSum
Set CCGPSum = CCAddedGPSum.End(xlDown).Offset(1, 0)
Range(CCGPSum.Offset(0, -1), CCGPSum.Offset(0, -2)).MergeCells = True
CCGPSum.Offset(0, -1).HorizontalAlignment = xlRight
CCGPSum.Offset(0, -2).Value = "Total:"
CCGPSum.Interior.ColorIndex = 6
End If
End If
もっとコードを投稿できますか?この問題は、あなたが問題を抱えている行の後には何の問題もないことは明らかです。私たちはあなたの範囲変数がコード内にある以前のスポットを見る必要があります。 – Kyle
必要なオブジェクトは、変数がオブジェクト型ではないことを意味します。これはおそらく、正しく宣言されていない、あるいは設定されていないバリアント型なので、空です。範囲が単に* set *になっていなかった場合、オブジェクト、変数、またはブロックが設定されていない状態で91エラーが発生します。 –
@カイルそれは事です。キャプションされている以外の変数を含むこのコードの唯一のものは 'Public CCAddedGPSum As Range'です。 – Munkeeface