
下記の記述で2行おきのセル範囲から0以下のセルを除外したセル範囲を取得しようとすると
Set Rng = Application.Union(r, Rng)
の行でエラーが発生します。
'Set Rng = Range(Cells(12, 7), Cells(12, 7))
の行のコメントアウトをはずすと動きますが、
cells(12,7)の値が0以下だと本来の目的
である0以下のセル範囲を除外するという目的が果たせません。
Union(r,Rng)のRngがnothingになっているとエラーの原因になるのでしょうか?
Private Sub test()
Dim r As Range
Dim Rng As Range
'Set Rng = Range(Cells(12, 7), Cells(12, 7))
For i = 12 To 27 Step 3
If Cells(i, 7) > 0 Then
Set r = Range(Cells(i, 7), Cells(i, 7))
Set Rng = Application.Union(r, Rng)
End If
Next i
Rng.Select
End Sub
以上教えてください。
お願いします。
No.1ベストアンサー
- 回答日時:
Nothing かどうかで処理を分けるとか、、、
Sub Test1()
Dim r As Range, i As Long
For i = 12 To 27 Step 3
If Cells(i, 7).Value > 0 Then
If r Is Nothing Then
Set r = Cells(i, 7)
Else
Set r = Application.Union(Cells(i, 7), r)
End If
End If
Next i
r.Select
End Sub
No.2
- 回答日時:
こんにちは。
こんな方法もあります。
Sub Test2()
Dim i As Long
Dim r As Range
On Error GoTo ErrHandler
For i = 12 To 27 Step 3
If Cells(i, 7).Value > 0 Then
Set r = Application.Union(Cells(i, 7), r)
End If
Next i
r.Select
Exit Sub
ErrHandler:
Set r = Cells(i, 7)
Resume Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Unionでの他のシートの参照について
Visual Basic(VBA)
-
範囲指定したセルを1つずつ飛ばす方法
Visual Basic(VBA)
-
エクセルVBA Unionはなぜ遅い?
Visual Basic(VBA)
-
-
4
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
5
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
6
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
7
ExcelVBAで質問です。離れた二次元配列を一つにしたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excel UserForm の表示位置
-
【ExcelVBA】値を変更しながら...
-
エクセルVBA 配列からセルに「...
-
複数指定セルの可視セルのみを...
-
マクロの実行時エラー'1004'が...
-
Excelで空白セル直前のセルデー...
-
MS Accessのウインドウ内の右端...
-
VBAでユーザーフォームにセル値...
-
【VBA】【ユーザーフォーム_Lis...
-
入力規則のリスト選択
-
Excel VBA でFunctionプロシジ...
-
EXCEL VBA 文中の書式ごと複写...
-
エクセルVBAによる不連続データ...
-
DataGridViewでグリッド内に線...
-
可変長文字列で困ってます
-
オーバーフローを回避する方法?
-
VBA にて、条件付き書式で背景...
-
マクロ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel UserForm の表示位置
-
VBAマクロ実行時エラーの修正に...
-
特定の色のついたセルを削除
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【VBA】【ユーザーフォーム_Lis...
-
【VBA】写真の貼り付けコードが...
-
データグリッドビューの結合セ...
-
複数指定セルの可視セルのみを...
-
エクセル、マクロで番号を読込...
-
CellEnterイベント仕様について
-
C# DataGridViewで複数選択した...
-
【ExcelVBA】値を変更しながら...
-
EXCEL VBA 文中の書式ごと複写...
-
マクロ初心者です。 マクロで範...
-
【Excel VBA】一番右端セルまで...
-
【Excel VBA】マクロで書き込ん...
-
VBA:日付を配列に入れ別セルに...
-
DataGridViewでグリッド内に線...
-
DataGridViewのフォーカス遷移...
おすすめ情報