
エクセルで簡単なタスク管理表を作っています。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) エクセル VBAで複数セル選択時エラーになる問題 3 2022/10/04 02:40
- Visual Basic(VBA) ExcelVBAコードについて 5 2023/10/28 16:54
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Visual Basic(VBA) エクセルのマクロを教えてください 4 2022/02/04 08:05
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのマクロ機能で前のシートに返るVBAはどうかくか
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
エクセルVBA 開始セルに戻る方法
Excel(エクセル)
-
-
4
excelで直前に参照していたブックに戻るマクロは作れますか?
Excel(エクセル)
-
5
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
6
[Excel] 1つ前のアクティブのセルに戻りたい(ショートカット希望)
Access(アクセス)
-
7
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
8
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
11
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
12
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
13
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
14
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
15
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
16
マクロ実行後元に戻すことは
PowerPoint(パワーポイント)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
19
マクロ 戻るボタンを押したらシートの1枚目に戻る
Excel(エクセル)
-
20
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaで、別シートの最下...
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
Excelのプルダウンで2列分の情...
-
【Excel VBA】指定行以降をクリ...
-
VBA実行後に元のセルに戻りたい
-
指定した条件で行セルを非表示...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
EXCELのVBA-フィルタ抽出後の...
-
共有フォルダからのファイル名...
-
マクロで行がグループ化されて...
-
【VBA】シート上の複数のチェッ...
-
Excel ユーザーフォームをモー...
-
VBAでセル同士を比較して色付け
-
”戻り値”が変化したときに、マ...
-
Excel VBA Enterキーによるセル...
-
プラスの数をマイナスにしたい...
-
エクセルvba:自己セルの情報取...
-
VBからEXCELのセルの値を取得す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
Excelのプルダウンで2列分の情...
-
【Excel VBA】指定行以降をクリ...
-
任意フォルダから画像をすべて...
-
VBAでセルをクリックする回...
-
”戻り値”が変化したときに、マ...
-
VBA実行後に元のセルに戻りたい
-
Excel vbaで特定の文字以外が入...
-
【VBA】シート上の複数のチェッ...
-
Excel VBA マクロ ある列の最終...
-
Excel VBAで、 ヘッダーへのセ...
-
DataGridViewの各セル幅を自由...
-
VBからEXCELのセルの値を取得す...
-
EXCELのVBA-フィルタ抽出後の...
-
VBAでセル同士を比較して色付け
-
Application.Matchで特定行の検索
おすすめ情報