[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『選択できるセルを制限する』(じゅん)
たとえばA1セルを選択し、左クリックのままマウスを右に動かすと 256個目のセルであるIV1のセルまでが連続して選択されますが これを10個目のセルであるJ1のセルまでしか選択できないよう 制限することはできないでしょうか。 同様に縦のセルはA1〜A10までしか選択できないようにするには どうすればいいでしょうか?
選択して欲しくないセルは非表示にしてしまうのもひとつの手です。 または、下記のコードをシートモジュールに貼り付けてしまうってのはどうでしょうか? '------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim C As Range For Each C In Target If C.Row > 10 And C.Column > 10 Then Cells(10, 10).Select Exit For ElseIf C.Row > 10 And Not C.Column > 10 Then Cells(10, C.Column).Select Exit For ElseIf Not C.Row > 10 And C.Column > 10 Then Cells(C.Row, 10).Select Exit For End If Next End Sub '(ROUGE)
素人の私にはむつかしいのでもう一点質問させてください。
たとえばたての列は全セル7行目まで。 横の列は全セル3行目までという設定にするにはどこを変えたら良いのでしょうか。 それさえわかればあとは状況に応じて数字を変えたら良い気がしますのでぜひ教えてください。
よろしくお願いいたします。
メンテするということなので、シンプルに・・・ この場合、範囲外を選択したらA1に飛んでいきます。 '----- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim C As Range For Each C In Target If C.Row > 7 Or C.Column > 3 Then '←行はRow、列はColumnを適宜修正 Cells(1, 1).Select Exit For End If Next End Sub '()ROUGE)
できれば範囲外を選択したら、設定した選択範囲の限界のところにセルが来る ようにできないでしょうか。 上記のれいなら縦の列は7行目に、横の列は3行目にくると助かります。 よろしくお願いいたします。
Cells(1, 1).Select ここを Cells(7, 3).Select にして下さい。 (ROUGE)
最後にもう一点。。。
A列でA10セルまでマウスを引っ張ったらA7セルに、 B列でB10セルまでマウスを引っ張ったらB7セルに、 1行目でF1セルまでマウスを引っ張ったらC1セルに 2行目でF2セルまでマウスを引っ張ったらC2セルというように あくまでマウスで選択したところの限界のところにくるようにするにはどこを変えたらいいでしょうか?
限界の数値を変数に格納してみました。 これでいかがでしょう? '---- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim C As Range Dim myR As Long, myC As Long myR = 7 '←限界の行を入れる。 myC = 3 '←限界の列を入れる。 For Each C In Target If C.Row > myR And C.Column > myC Then Cells(myR, myC).Select Exit For ElseIf C.Row > myR And Not C.Column > myC Then Cells(myR, C.Column).Select Exit For ElseIf Not C.Row > myR And C.Column > myC Then Cells(C.Row, myC).Select Exit For End If Next End Sub '(ROUGE)
こういうのはどうでしょうか。参考まで。 標準モジュールにコピペしてください。 Test1を実行すると A1:C10の矩形の範囲だけしか選択できなくなります。 Test2はその解除です。
Sub Test1() ActiveSheet.ScrollArea = "A1:C10" End Sub
Sub Test2() ActiveSheet.ScrollArea = "" End Sub
(やっちん)
なるほろ〜。 勉強させて頂きました<(__)> (ROUGE)
やっちんさん ありがとうございます。
教えていただいた以下のものはsheet1のタブのコードの表示というのを選んで 出てきたMS VisualBasicというのにそのまま貼り付けたらいいのでしょうか。
とりあえずやってみましたが変化はありませんでした。
Sub Test1() ActiveSheet.ScrollArea = "A1:C10" End Sub
Sub Test2() ActiveSheet.ScrollArea = "" End Sub
実行する必要があるので Alt+F8 でTEST1を選択して実行してください。 でも実際の運用ではブックのオープン時に実行しないとあまり意味がないですね。 (やっちん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.