[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『存在しない単語をが入力された時』(とうこ)
いきなりですが…
セルA1に入力した文字列が
3行目に存在しなかったら3行目の最後?(左から順に単語が入力されています)にA1の単語を追加したいです。
どうすればいいですか?
A1→松田
3行目→田中 山田 河野 松田 松本 竹田
このときはこれでいいのですが、
A1→御手洗
3行目→田中 山田 河野 松田 松本 竹田 御手洗
このように入力されているセルの隣のセルに新しく追加したいです。
3行目に存在しない単語をどんどん右側へ追加したいということです。
よろしくお願いします。
[[20030702142814]] 『入力規則でリストにエントリーって?』(つのだ☆ぴろ)
ということで、
>どうすればいいですか?
=マクロで処理します。
(みやほりん)
1行目も、A1だけじゃなく、どんどん右に入力していく。で、3行目にないものは3行目に追加していく。 こういうことなら、きっと関数エキスパートさんなら朝飯前かな(自分では、絶対にできないけど)
提示の要件なら、みやほりんさんにお墨付き(?)頂いたようにマクロなんだろうね。 このシートのシートタブを右クリックしてコードの表示を選んで出てくるところに以下を貼り付けてみてくれる?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim j As Variant
Dim myVal As Variant
If Not Intersect(Target, Range("A1")) Is Nothing Then 'A1に入力されたら
myVal = Range("A1").Value
If Len(myVal) = 0 Then Exit Sub '空白(クリア)された場合は処理せず
Application.EnableEvents = False '今回は、必ずしも必要じゃないけど
If Len(Range("A3").Value) = 0 Then 'まだ3行目にセットされていなければ
Range("A3").Value = myVal
Else
If Not IsNumeric(Application.Match(myVal, Rows(3), 0)) Then '3行目にない場合にのみ
Cells(3, Columns.Count).End(xlToLeft).Offset(, 1).Value = myVal
End If
End If
Application.EnableEvents = True
End If
End Sub
(ぶらっと)
お2人ともありがとうございました。
おかげさまで出来ました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.