エクセルで簡単なタスク管理表を作っています。
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.2
- 回答日時:
動かなかったら6行目
セル位置.select→range(セル位置).select
でお願いします。
2パターン試して見たのですが、私の入れ方がおかしいのか上手くいかず、、
本当に知識がなく申し訳ございません( ; ; )
回答いただいて、ありがとうございました!
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つのパターン好きな方を使えたのでとてもありがたかったです。
ありがとうございました!
お探しの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)
-
VBEを開くのにコマンド名が「Visual Basic」な理由はなぜ?
Visual Basic(VBA)
-
-
4
引数に数値、文字列の混在
Visual Basic(VBA)
-
5
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
6
Excel VBA マクロ シート名を変えずにA列にあるセル名の名前でファイルの分割をしたいです
Visual Basic(VBA)
-
7
VBA 二つのブックをうまく扱えないでいます
Visual Basic(VBA)
-
8
VBA コード
Visual Basic(VBA)
-
9
ExcelのVBAのことで質問です。 以下のコードを入れ、ボタンを押せば作動させると写真のように画面
Visual Basic(VBA)
-
10
excelのVBAについて、以下のコードに追加をお願いいたします。
Visual Basic(VBA)
-
11
マクロについて教えてください。 下記のマクロは以前教えて頂いたマクロです。 マクロを実行すると 指定
Visual Basic(VBA)
-
12
excelのVBAで画像の動作をさせるため、プログラムを教えてください。
Visual Basic(VBA)
-
13
ExcelVBAのFindFirstエラーについて
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
以下のコードを実行しても、オブジェクト変数または、withブロック変数が設定されていませんとエラーが
Visual Basic(VBA)
-
20
Vba ユーザ定義関数について教えてください
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
【Excel VBA】指定行以降をクリ...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
VBAの計算で@が出てしまう件
-
Excelで指定した日付から過去の...
-
VBAでセルをクリックする回...
-
Excel VBAで セル内の値を1づ...
-
【EXCEL VBA】Range("A:A").Fi...
-
Excel VBA、 別ブックの最終行...
-
Excel vbaで特定の文字以外が入...
-
Excelのプルダウンで2列分の情...
-
screenupdatingが機能しなくて...
-
Application.Matchで特定行の検索
-
ExcelのVBAで数字と文字列をマ...
-
【Excel】指定したセルの名前で...
-
プラスの数をマイナスにしたい...
-
excelで置換をしたいんですが
-
EXCELで変数をペーストしたい
-
エクセルVBAでコピーして順...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報