応用が効かなくて申し訳ありません。
1798323で素敵なご回答をいただいたのですが、
状況が進展して変わってくるとVBAの書き換えがわからなくなりました。もう一度教えてください。
※変更点は、入力元がAI列、『入力先をQ~V列に限定』したい点です。
Q R S T U V・・ AI
1 田中 鈴木 佐藤 山田
2 鈴木 山田 海岡
3 田中 佐藤 佐藤
というような表があり、T1に「山田」、S2「海岡」と、その行に関してAI列に新規の名前が入力されたときに自動入力することをVBAでどのように書けばよいのか、ご教授お願いいたします。
尚、3行目には「佐藤」さんがすでいるので入力不要です。
よろしくお願いします。
No.3
- 回答日時:
こんにちは~
Q列からV列がすべてうまっている状態で、AI列に別の名前を入力した場合はどうするのでしょうか?
それは考慮しなくてもよければ、以下のコードを試してみてください。
該当シートのシート見出しを右クリックして 「コードの表示」
'------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
With Target
If .Column <> 35 Or .Row < 5 Then Exit Sub
If .Count > 1 Then Exit Sub
If .Value = "" Then Exit Sub
Application.EnableEvents = False
For i = 17 To 22
If Cells(.Row, i).Value = .Value Then
Exit For
Else
If Cells(.Row, i).Value = "" Then
Cells(.Row, i).Value = .Value
Exit For
End If
End If
Next i
Application.EnableEvents = True
End With
End Sub
'-----------------------------------------------------------
No.1さんのだと、Q列からV列に何も入力されていないような場合うまくいかないと思います。
あと、重複チェックもちょっとちがうような‥
かんちがいでしたらゴメンナサイ。
この回答への補足
shiotan99さん、ありがとうございました。完璧です。
Q~Vの6件を越えることはないと仕事で使う現場からの要望でしたが、増やしたいとき、たとえば、z列まで拡張したいときは、8行目の「For i = 17 To 22」をさわればいいのですね?
もうひとつ、追加質問事項をお世話いただけるでしょうか?入力元をAIだけでなく、ほかにもいくつか設定したいのです。たとえばAI,AQ,AY・・・といくつか入力元を持ちたいのです。入力先はQ~Vで変更ありません。よろしくご指導お願いいたします。楽しみにお待ち申し上げています。
No.2
- 回答日時:
kamejiroさんの応用ということなら
それぞれの入力位置を検討といううことになるかと
Sub テスト2()
i = 1
Do Until Cells(i, 35) = ""
j = 17
flg = ""
Do Until flg = "END"
If j = 22 Then
flg = "END"
End If
If Cells(i, j) = Cells(i, 35) Then
flg = "END"
End If
If Cells(i, j) = "" Then
Cells(i, j) = Cells(i, 35)
flg = "END"
End If
j = j + 1
Loop
i = i + 1
Loop
End Sub
それにしてもkamejiroさん、最初からこのような変更もありうるとを想定してのコードなのかすばらしいな~ ('-'*)
VBA勉強中の onntaoでした
この回答への補足
ありがとうございます^^。できました。
しかしながら、1行目に見出し、2行目からデータ入力というケースなら可能なようですが、
今回設定しているシートは、1行目~4行目に見出しや空白にあけておきたいのです。5行目から入力したい場合、このマクロを実行したときにうまくいかないみたいです。引き続きご指導いただけますでしょうか?
onntaoさん、ありがとうございました。大変参考になりました。入力元の1行目~4行目に何か文字がはいっておれば、5行目からの入力が可能であることは確認できました。kamejiroさんからもご回答いただいて尚、補足質問をお願いしています。ご回答、心より感謝いたします。当初ポイント対象だったのですが、その後、多数の方のご回答をいただいた関係で、今回はごめんなさい。m(_ _)m
No.1
- 回答日時:
こんにちは。
こんなものでよいと思います。
イベント・ドリブン型のマクロですから、使い方は、単に、AI列に入力するだけです。
'シートタブから、コードの表示で以下を貼り付けます。
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
'35列 =AI列
If .Column <> 35 Then Exit Sub
If .Count > 1 Then Exit Sub '複数のセルの場合のEnter除外
'17 =Q列より前か 22= V列より後は除外
If (.End(xlToLeft).Column < 17 Or .End(xlToLeft).Column >= 22) Then Exit Sub
If .End(xlToLeft).Value <> .Value Then
Application.EnableEvents = False
.End(xlToLeft).Offset(, 1).Value = .Value
Application.EnableEvents = True
End If
End With
End Sub
'---------------------------------------------------
.
この回答への補足
Wendy02さん、こんにちは。いつもありがとうございます。
以前にもご指導いただきました。
シートタプを右クリックしてコード表示で貼りつけてみました。
1行目で試してみると、うまくいきましたが、2行目以下がなかうまくできませんでした。私の理解不足の為だとは思います。尚、引き続きご指導お願いいたします。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- 計算機科学 Excel ある行と列が交わったところにマークを付けるには 7 2023/01/24 08:46
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- その他(IT・Webサービス) メニューについて 3 2022/07/12 16:06
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
- Excel(エクセル) エクセルにて別シートの値を参照したif式で任意のセルと同じ値を結果に反映させたいです 3 2022/06/02 11:34
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
すべてのシートを選択してエク...
-
Excel VBA 答えが0になってし...
-
合計が0の行を削除
-
ローマ字入力で「トゥ」を入力...
-
Googleマップでホテルを探す際...
-
自動改札のエラーって…
-
印刷をしようとしたら「ファイ...
-
iMacキーボードの入力 小文字の...
-
「未使用」と「不使用」ってど...
-
ネットカフェから、メールでき...
-
cafe(カフェ) eの上に´を付ける...
-
Chatgptから送られてきたリンク...
-
データ用HDDの別のPCへの乗せ替え
-
このような迷惑メールが一日に...
-
入力時に母音の小文字打つ時、...
-
匿名チャットアプリでの知られ...
-
PCの内蔵メモリにデータは残る?
-
改札エラーについて
-
スマホの小文字gについて
-
HDDをローレベルフォーマットす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
すべてのシートを選択してエク...
-
エクセルで時刻を自動入力する方法
-
Excelのデータが重いのはなぜで...
-
Excel VBA 答えが0になってし...
-
エクセル。ブック内検索で重複...
-
合計が0の行を削除
-
エクセルで人名を50音順に表...
-
excel フレームのように一部...
-
Excel2007入力規則
-
エクセルで、「袋詰め問題」を...
-
Excelの関数についてしつもんで...
-
EXCEL VBA 区切り位置のプログ...
-
スプレッドシートで、指定した...
-
エクセルの入力 エンターキーで...
-
エクセルマクロについて データ...
-
エクセルのセルの表示形式(2...
-
excel関数orマクロ:データ入...
-
エクセルの列に三角印と*印が?
-
EXCELで請求書を作りたいのですが
-
エクセルで漢字がうまく並び替...
おすすめ情報