[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『カーソルが指定順に移動しない』(三輪車)
シートの保護を利用せず、カーソルを指定順に移動する方法を
試したのですが、従来通りで順番に移動しません。
Ctrlキーを押したまま Enterキーでセルを希望の順番(2番目のセルから)
にクリック、最後にスタートするセルC1を選択し、数式バーの
左の名前ボックスをクリックして任意の名前 "入力タブ順"を付ける。
最初のセルC1を選択すれば、名前ボックスに "入力タブ順"としっかり
表示されるのですが、Enterキーを押してもカーソルは従来通り下に
動くだけです。
これがうまく行けば、下記のコードでシートを開けば、、
名前ボックスから "入力タブ順"を選択しなくても、
自動的にカーソルが入力指定順に移動してくれると思うのですが、
その前の段階でつまずいています。よろしくお願いします。
Private Sub Worksheet_Activate()
If ActiveSheet.Name = "入力" Then
Worksheets("入力").Range("C1").Select '設定したタブ順でカーソル移動 Application.Goto Reference:="入力タブ順"
End If
End Sub
< 使用 Excel:Excel2007、使用 OS:Windows8 >
シートイベントであれば、シートの指定や判定は不要と思いますが、下記だけではダメですか?
Private Sub Worksheet_Activate() Range("入力タブ順").Select End Sub
(Mook) 2015/04/14(火) 11:41
ありがとうございます、 希望通りとなりました。
Rangeの使い方で、Range("入力タブ順")のような書き方があるとは夢にも
思いませんでした。VBA歴わずか3ヶ月、本は10冊以上軽くサラッと
眺めましたが、セル番地以外の記述は一度も見かけたことはありません。
(三輪車) 2015/04/14(火) 12:52
2007のVBAヘルプで「Rangeプロパティ」(Range.Rangeプロパティ、Worksheet.Rangeプロパティ、Application.Rangeプロパティのどれでも) の説明で
>次の使用例は、"TestRange" という名前の範囲に対してループを行い、範囲内の空のセル数を表示します。
>Visual Basic for Applications >numBlanks = 0 >For Each c In Range("TestRange") > If c.Value = "" Then > numBlanks = numBlanks + 1 > End If >Next c >MsgBox "この範囲内には " & numBlanks & " 個の空のセルがあります。" という例が記されている。
(ねむねむ) 2015/04/14(火) 13:02
わかりやすく具体例を挙げていただきありがとうございます。
Range(" ") で、 " " の中にはセル範囲を意味する
名称も入れることができるわけですね。
(三輪車) 2015/04/14(火) 13:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.