No.4ベストアンサー
- 回答日時:
>Target はアクティブセルの変数。
そうです。変更したセルになります。
>.Column と.Row の前の Target を省略している。という理解でいいでしょうか。
Withステートメントを使って書いています。Targetという変数が沢山出てきますので・・・
次は、HELPにある『Withステートメント』の説明です。
-----Help----------------------------------------------------------------------------
With ステートメントを使用すると、一度指定したオブジェクトやユーザー定義型に対して
オブジェクト名の再指定を省略して、一連のステートメントを実行できます。
With ステートメントを実行すると、プロシージャの実行速度が向上します。
また、オブジェクトを繰り返し入力をする必要がありません。
-------------------------------------------------------------------------------------
当然、Withを使わないで書けます。
If Target.Column = 1 Then 'A列の場合
Cells(Target.Row, Target.Column + 3).Select
ElseIf Target.Column = 4 Then 'D列の場合
Cells(Target.Row + 1, Target.Column - 3).Select
End If
↓
↓これをWithステートメントを使って書いています。(With ~ End With)
↓
With Target
If .Column = 1 Then 'A列の場合
Cells(.Row, .Column + 3).Select
ElseIf .Column = 4 Then 'D列の場合
Cells(.Row + 1, .Column - 3).Select
End If
End With
No.5
- 回答日時:
#3のものです。
ご希望のものは下記で良さそうです。Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Application.Goto Target.Offset(0, 3)
ElseIf Target.Column = 4 Then
Application.Goto Target.Offset(1, -3)
Else
End If
End Sub
なるほど、Goto Target.Offset というのもアリですか。今回の質問で
Private Sub Worksheet_Change(ByVal Target As Range)
というのが少し理解できたような気がします。また教えてください。ありがとうございました。
No.3
- 回答日時:
たった1行で出来ちゃいました。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.Goto Target.Offset(0, 3)
End Sub
A1セルに何か値を入れて、エンタキーを押すと
D1に飛びます。
同じくA5セルに何か値を入れて、エンタキーを押すと
D5に飛びます。
この回答への補足
ご回答感謝いたします。
希望は文字列や数値を入力してエンタキーを押すたびに、A列からD列に移動した後、一行下のA列に戻りたいのです。A1,D1,A2,D2,A3,D3という順です。よろしくお願いします。
No.2
- 回答日時:
Sheet1で行う場合、下のコードをSheet1のコードウインドウに貼り付けます。
ご参考に。>Application.MoveAfterReturnDirection = xlDown
>この = の右辺をどう書けばいいかお教えください。
MoveAfterReturnDirection を使うと大変でしょう・・・・
Sheet1のコードウインドウに貼り付け
↓
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 1 Then 'A列の場合
Cells(.Row, .Column + 3).Select
ElseIf .Column = 4 Then 'D列の場合
Cells(.Row + 1, .Column - 3).Select
End If
End With
End Sub
この回答への補足
早速のご回答感謝いたします。
Target はアクティブセルの変数。
.Column と.Row の前の Target を省略している。という理解でいいでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) エクセルについて質問です。 8 2022/05/31 16:00
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセルVBA 任意のセルの選択時、指定のセルの値を表示 1 2023/04/21 08:13
- Excel(エクセル) Excel ヘルプの[ロック解除]、<c0>、</c0> の意味は何ですか? 1 2023/02/20 16:58
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) エクセルの編集オプション セル移動 2 2022/04/02 09:19
- Visual Basic(VBA) 入力と同時に桁数を詰める 3 2022/09/11 20:23
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
Excel上でのデータ数字が連番で...
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
入退社日より各月末の在籍者数...
-
別のセルに値が入力されたら、...
-
列の数字に100をかけたい
-
HYPERLINKとADDRESSとMATCHの組...
-
エクセルで表示されている数字...
-
エクセル:横長の表を改行して...
-
スペースとスペースの間の文字...
-
エクセルでセルの値分の個数の...
-
エクセルで住所の番地順に並べ...
-
エクセルで、毎日の走行距離(...
-
【EXCEL】指定したセルの値を他...
-
アルファベットを含む数をエク...
-
時間を「昼間」と「夜間」に分...
-
エクセルのsumifでかけ算してか...
-
エクセルにデータを入力すると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
Excel上でのデータ数字が連番で...
-
列の数字に100をかけたい
-
スペースとスペースの間の文字...
-
別のセルに値が入力されたら、...
-
エクセルで表示されている数字...
-
エクセルでセルの値分の個数の...
-
エクセル:横長の表を改行して...
-
[関数について]わかる方教えて...
-
エクセル関数に詳しい方教えて...
-
エクセルで、毎日の走行距離(...
-
エクセルのsumifでかけ算してか...
-
HYPERLINKとADDRESSとMATCHの組...
-
エクセルで曜日に応じた文字を...
-
入退社日より各月末の在籍者数...
-
エクセルで1列全部10倍したい
-
エクセルで小数を含む数値の抽出
おすすめ情報