[[20120516160742]] 『存在しない単語をが入力された時』(とうこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『存在しない単語をが入力された時』(とうこ)

いきなりですが…

セル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.