下記の記述で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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 1 2022/04/29 02:36
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) findメソッドの変数について 6 2023/06/23 08:01
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Unionでの他のシートの参照について
Visual Basic(VBA)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
エクセルVBA Unionはなぜ遅い?
Visual Basic(VBA)
-
-
4
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
5
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
6
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
9
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
10
VBA 選択された離れたセルの値の取得について
Excel(エクセル)
-
11
Excelのセルの色指定をVBAから配列を用いて効率的に行う方法はあり
Visual Basic(VBA)
-
12
Excelに埋め込んだVBAのプログラムが消えた。
その他(Microsoft Office)
-
13
ExcelVBAで、数式を含むセルを値貼り付けしたセルをCountAで取得すると空白と認識されない
Excel(エクセル)
-
14
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBA 配列からセルに「...
-
VBAマクロ実行時エラーの修正に...
-
【VBA】【ユーザーフォーム_Lis...
-
Excel VBA IF文がうまく動作し...
-
特定の色のついたセルを削除
-
PasteSpecial Paste:=[********...
-
QRコード作成マクロについて
-
飛び地セルの空白判定
-
連番色付け
-
Excel UserForm の表示位置
-
Excelで空白セル直前のセルデー...
-
VBA にて、条件付き書式で背景...
-
VB DataGridViewについて
-
エクセルの合計を自動で表示さ...
-
EXCEL VBA 文中の書式ごと複写...
-
VBA 複数条件の分岐処理の上手...
-
オートフィルタの結果をコピー...
-
excelで結合セルの場合にエラー...
-
DataGridViewでグリッド内に線...
-
関数の引数でrangeを指定したとき
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
VBA 複数条件の分岐処理の上手...
-
Excelで空白セル直前のセルデー...
-
Excel UserForm の表示位置
-
EXCEL VBA 文中の書式ごと複写...
-
特定の色のついたセルを削除
-
VBA にて、条件付き書式で背景...
-
VBAでユーザーフォームにセル値...
-
【VBA】写真の貼り付けコードが...
-
【Excel VBA】一番右端セルまで...
-
Excel VBAでCheckboxの名前を変...
-
エクセルの合計を自動で表示さ...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
Excel VBA IF文がうまく動作し...
-
下記のマクロの説明(意味)を...
-
入力規則のリスト選択
-
C# DataGridViewで複数選択した...
-
関数の引数でrangeを指定したとき
おすすめ情報