エクセルで簡単なタスク管理表を作っています。
A列に日付が入るようになっており、自動で日付順にタスクが並び変わるようにしています。
↓
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Cells.Select
Selection.Sort Key1:=Range("A2"), Header:=xlYes
End If
End Sub
別の質問で、上記マクロを見つけてこれを使用しているのですが、これだとVBA実行後にセルが全選択された状態になります。
VBAの知識が全くなく、自分なりに調べて見たのですがうまく行かずこちらで質問するに至りました…( ; ; )
上のマクロのまま、VBA実行後に元々選択していたセルに戻るにはどうしたらいいのでしょうか。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは
>元々選択していたセルに戻るにはどうしたらいいのでしょうか。
「元々選択していたセル」の解釈が2通りできます。
ご提示のコードはChangeイベントですが、それが発生する状況でのセル選択は
・通常入力でEnterキー等を押した時
→ 選択セルは次のセルに移動
・ペーストなどでセル(又はセル範囲)に値を入力した時
→ 選択セルはペーストしたセル範囲のまま(=移動しない)
の2種類があります。
1)選択位置をイベントが発生した状態(=Enterで移動後)にしたいのなら
Selectで選択範囲を移動しなければ良いです。
>Cells.Select
を削除して
>Selection.Sort Key1:=Range("A2"), Header:=xlYes
の部分を
Cells.Sort Key1:=Range("A2"), Header:=xlYes
とすれば、シート上の選択範囲は影響を受かないので、そのままとなります。
2)処理対象のセル(又はセル範囲)が選択された状態にしたいのなら
No3様の回答にあるように
Target.Select
としておけば良いでしょう。
(Enter入力等の場合には、選択位置が戻った状態になります)
確かに2パターン解釈できるなと、投稿後に気づきました(*´-`)
本日実際に事務員間で使用してみて、2つのパターン好きな方を使えたのでとてもありがたかったです。
ありがとうございました!
No.3
- 回答日時:
Target.Select ' この行追加
End If
End Sub
で宜しいのでは。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
都道府県穴埋めゲーム
都道府県の名前を1人1つずつ投稿してください。全ての都道府県が出たら締め切ります!
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセルVBA 開始セルに戻る方法
Excel(エクセル)
-
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
コピペして元のセルに戻るVBAについて
Excel(エクセル)
-
-
4
エクセルのマクロ機能で前のシートに返るVBAはどうかくか
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
[Excel] 1つ前のアクティブのセルに戻りたい(ショートカット希望)
Access(アクセス)
-
7
vbaで実行後、指定のセルに戻すには
セキュリティソフト
-
8
Excel VBA マクロ シート名を変えずにA列にあるセル名の名前でファイルの分割をしたいです
Visual Basic(VBA)
-
9
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
10
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
11
Excel VBA 空白セルがあったらメッセージボックスで知らせたい
Visual Basic(VBA)
-
12
VBA
Visual Basic(VBA)
-
13
VBA 最終行まで数式をコピーする
Visual Basic(VBA)
-
14
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
15
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
16
【Excel VBA】ファイル名が一定でないファイルの指定方法
Excel(エクセル)
-
17
EXCEL VBA 印刷プレビューダイアログのボタン操作を判定したい
Visual Basic(VBA)
-
18
マクロで印刷→セルの値から部数変更するには
Excel(エクセル)
-
19
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
20
入力規則のリストの文字の大きさも調整したい
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
【Excel】指定したセルの名前で...
-
screenupdatingが機能しなくて...
-
vba 隣のセルに値がある行だけ...
-
EXCELのVBA-フィルタ抽出後の...
-
VBAでセル同士を比較して色付け
-
”戻り値”が変化したときに、マ...
-
VBA コピーして次の値まで貼り...
-
特定のセルが空白だったら、そ...
-
VBA実行後に元のセルに戻りたい
-
特定行の色を変えたい(FlexGrid)
-
TODAY()で設定したセルの日付...
-
ExcelVBA:オートフィルタをかけ...
-
【VBA】指定したセルと同じ値で...
-
【Excel VBA】指定行以降をクリ...
-
連続する複数のセル値がすべて0...
-
プラスの数をマイナスにしたい...
-
Excel vbaで特定の文字以外が入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
Excelで指定した日付から過去の...
-
【Excel VBA】指定行以降をクリ...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
【Excel】指定したセルの名前で...
-
Excelシートのあるセルから値を...
-
特定の文字を条件に行挿入とそ...
-
連続する複数のセル値がすべて0...
-
セル色なしの行一括削除
-
指定した条件で行セルを非表示...
-
vba 隣のセルに値がある行だけ...
-
Application.Matchで特定行の検索
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
EXCELのVBA-フィルタ抽出後の...
-
【VBA】指定したセルと同じ値で...
-
”戻り値”が変化したときに、マ...
おすすめ情報