[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『品番があれば品名を書き換え』(ねい)
A B F G
1 あ 5きゃ
2 い
3 う
4 え
5 お
分かりにくいとは思いますが、
どうかご伝授ください。
A列に品番
B列に品名
があります。
F列に新商品の品番5
G列に新商品の品名きゃ を入力したとき
B列の品番5の品名を きゃ に書き換えたい
のですが、どうしたらよいか教えていただけませんでしょうか。
< 使用 Excel:Excel2002、使用 OS:WindowsVista >
>>F列に新商品の品番5 >>G列に新商品の品名きゃ を入力したとき
F1とG1だけではなく F列、G列に、どんどん新商品を書きこんでいくのですね?
>>B列の品番5の品名を きゃ に書き換えたい
数式は、他のセルの値を参照して、数式が書きこまれた自分自身のセルの値を変更するものですよね。 他のセルに書きこむことは不可能です。
ということは 数式は B列に記述しなければいけなくなりますが、B列は入力欄ですよね。 仮に何かしらの数式が書かれていたとしても入力すれば数式がなくなってしまいます。
VBA処理になると思いますね。
シートタブを右クリックしてコードの表示を選んででてくるところに 以下を貼り付け、右上のXボタンクリックで シートに戻り、F列、G列 に 品番や商品名を入れてみてください。
Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range Dim z As Variant Dim r As Range Dim dF As Variant Dim dG As Variant
Set r = Intersect(Target, Columns("F:G"))
If r Is Nothing Then Exit Sub Application.EnableEvents = False
For Each c In r dF = c.EntireRow.Range("F1").Value dG = c.EntireRow.Range("G1").Value If Not IsEmpty(dF) And Not IsEmpty(dG) Then z = Application.Match(dF, Range("A1", Range("A" & Rows.Count).End(xlUp)), 0) If IsError(z) Then MsgBox dF & " は存在しません。品名書き換えをスキップします" Else Cells(z, "B").Value = dG End If End If Next
Application.EnableEvents = True
End Sub
(β) 2016/04/20(水) 06:27
たとえば B列を変更せず、A,B列と F,G列の処理結果を H,I列に表示するといったことでもいいのなら
H1 : =IF(A1="","",A1) I1 : =IF(A1="","",IF(ISNUMBER(MATCH(A1,F:F,0)),INDEX(G:G,MATCH(A1,F:F,0)),B1))
H1:I1 を下にフィルコピー とか?
(β) 2016/04/20(水) 09:42
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.