>>908
変数 r が

Dim r As Range

のようにRangeオブジェクト型としてきちんと宣言してあれば、r が空なら

If r Is Nothing Then

で判定できる。これが正攻法。
まあ、もうちょっと手を抜くなら

If tbox1.txt <> "" And tbox2.txt <>"" Then
  Set r = Range(tbox1.txt & "," & tbox2.txt)
Else
  Set r = Range(tbox1.txt & tbox2.txt)
End IF

みたいに文字列の段階で結合してしまうのも一つの方法だし、
さらに手を抜くなら On Error でエラーを無視して続行するという手もある。