エクセルで簡単なタスク管理表を作っています。
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も見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Cellsのコードが打てません
Visual Basic(VBA)
-
エクセルVBAでデータ転記
Visual Basic(VBA)
-
エクセルVBA 開始セルに戻る方法
Excel(エクセル)
-
-
4
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
5
excelのVBAで画像の動作をさせるため、プログラムを教えてください。
Visual Basic(VBA)
-
6
引数に数値、文字列の混在
Visual Basic(VBA)
-
7
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
8
Excel VBA マクロ シート名を変えずにA列にあるセル名の名前でファイルの分割をしたいです
Visual Basic(VBA)
-
9
VBA 二つのブックをうまく扱えないでいます
Visual Basic(VBA)
-
10
Excel VBAでの数値の計算についておしえてください
Visual Basic(VBA)
-
11
VBAのことで質問です
Visual Basic(VBA)
-
12
ExcelVBAのFindFirstエラーについて
Visual Basic(VBA)
-
13
VBA コード
Visual Basic(VBA)
-
14
VBAの質問です、複数のテキストボックスに同じコメントを
Visual Basic(VBA)
-
15
近似した文字列を置換するエクセル関数またはVBAについて
Visual Basic(VBA)
-
16
VBA
Visual Basic(VBA)
-
17
ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面
Visual Basic(VBA)
-
18
VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。
Visual Basic(VBA)
-
19
マクロについて教えてください。 下記のマクロは以前教えて頂いたマクロです。 マクロを実行すると 指定
Visual Basic(VBA)
-
20
EXCEl VBA
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで指定した日付から過去の...
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excel VBA、 別ブックの最終行...
-
特定のセルが空白だったら、そ...
-
【Excel】指定したセルの名前で...
-
screenupdatingが機能しなくて...
-
【VBA】指定したセルと同じ値で...
-
”戻り値”が変化したときに、マ...
-
エクセルの複数データーをダブ...
-
Excel vbaで特定の文字以外が入...
-
VBAコマンドボタンを押すたびに...
-
Excel2003 複数セル1列の入力済...
-
3桁または4桁の数値を時刻に...
-
Excelのプルダウンで2列分の情...
-
VBからEXCELのセルの値を取得す...
-
VBA初心者です。結合セルを保持...
-
セルの結果でマクロ実行
-
任意フォルダから画像をすべて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
TODAY()で設定したセルの日付...
-
EXCELで変数をペーストしたい
-
Excel VBA、 別ブックの最終行...
-
Excelのプルダウンで2列分の情...
-
VBA コピーして次の値まで貼り...
-
screenupdatingが機能しなくて...
-
エクセルVBAでコピーして順...
-
VBA初心者です。結合セルを保持...
-
セル色なしの行一括削除
-
VBAでセルをクリックする回...
-
Excel vbaで特定の文字以外が入...
-
DataGridViewの各セル幅を自由...
-
特定の文字を条件に行挿入とそ...
-
【VBA】指定したセルと同じ値で...
おすすめ情報