[[20190117135148]] 『Range(』(ちょこれいと) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Range(』(ちょこれいと)

宜しくお願い致します。
***********************************

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

        Cancel = True

     Call マクロその2    
    End Sub

***********************************

2行目のRange("A:A")を、A行すべてではなくて
以下のように、A1,A11,A21,A31,..........と10行とばしでA3001までしたくて
Target.Range("A1"),("A11"),と永遠と書いていきましたが
上限があるようでエラーがでてしまいました。

ネットで検索したところUnion(Range("A1"),......というように
Unionを付け足すとよいとあったので試したのですがこれまたエラーがでました。

どのように修正したらよいのでしょうか。
ご教授ください

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 こういうことですかい?
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        If Not Intersect(Target, Range("A1:A3001")) Is Nothing Then
            If Target.Row Mod 10 = 1 Then
                Cancel = True
                Call マクロ
            End If
        End If
    End Sub

(稲葉) 2019/01/17(木) 14:22


稲葉さまさま

恐れ入りました!うまくいきました。
ありがとうございます。

(ちょこれいと) 2019/01/17(木) 16:11


既に解決したっぽいですが、
>Target.Range("A1"),("A11"),と永遠と書いていきましたが
個別に書き連ねるなら、こうですね
  ↓
 Range("A1,A11,A21,A31")
す
参考URL
http://officetanaka.net/excel/vba/tips/tips126.htm
特に↓に注目
【複数のセルを選択するには、(中略)セルのアドレスをカンマで区切って指定します。】
【文字数が255文字を超えるとエラーになります。】

これを踏まえて提示のコードを私なりに修正すると、こんな感じですかね。

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Dim MyRNG As Range, i As Long

        'TargetがA列でなければ即終了
        If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

        'MyRNGが初期値の「Nothing」だと「Union(MyRNG, Cells(i, "A"))」が失敗するので
        '最初のセルだけ先にセットしておく
        Set MyRNG = Range("A1")

        'ループ処理で次々にMyRNGに追加していく
        For i = 11 To 3001 Step 10
            Set MyRNG = Union(MyRNG, Cells(i, "A"))
        Next i

        'Target と MyRNG が重なる範囲があるか判定する
        '(TargetがA列であっても、MyRNGに含まれていなければココで終了)
        If Intersect(Target, MyRNG) Is Nothing Then Exit Sub

        '--以下、[Target]が[MyRNG]に含まれる場合のみ処理---
        Cancel = True
        Call マクロその2

    End Sub

もちろん、思い切って稲葉さんのように考え方を変えちゃうのもアリですね。
上記はあくまで、Unionメソッドの参考ということで・・

(もこな2) 2019/01/17(木) 18:36


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.