非交差範囲VBA



Non Intersect Range Vba



解決:

私はこの質問をSOからの応答がないmsdnフォーラムに投稿し、必要な解決策を得ました。コードをテストしましたが、正常に動作します。お役に立てば幸いです。

これがmsdnへの投稿へのリンクです。



Sub NotIntersect()Dim rng As Range、rngVal As Range、rngDiff As Range Set rng = Range( 'A1:A10')Set rngVal = Range( 'A5')Set rngDiff = Difference(rng、rngVal)MsgBox rngDiff.Address Endサブ関数Difference(Range1 As Range、Range2 As Range)As Range Dim rngUnion As Range Dim rngIntersect As Range Dim varFormulas As Variant If Range1 Is Nothing Then Set Difference = Range2 ElseIf Range2 Is Nothing Then Set Difference = Range1 ElseIf Range1 Is Nothing And Range2 Is Nothing Then Set Different = Nothing Else Set rngUnion = Union(Range1、Range2)Set rngIntersect = Intersect(Range1、Range2)If rngIntersect Is Nothing Then Set Difference = rngUnion Else varFormulas = rngUnion.Formula rngUnion.Value = 0 rngIntersect.ClearContents Set差= rngUnion.SpecialCells(xlCellTypeConstants)rngUnion.Formula = varFormulas End If End IfEnd関数