[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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
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.