プロが教えるわが家の防犯対策術!

VBAでVLOOKUPで取得したセルの値を編集して、再度同じセルへ入力したいのですが、どうすればいいのでしょうか。

詳しい方がいらっしゃいましたら、教えてください。

よろしくお願い致します。

質問者からの補足コメント

  • 補足します。
    VBAでVLOOKUPで取得したセルの値をテキストボックスへ取得しその内容を編集して、再度同じセルへ入力したいです。

    例えば、商品コードA001をvblookupで取得した単価、仕入先をユーザーフォームのテキストボックスに取得して、単価を編集し再度商品コードA001の単価のセルに値を入力

    といったイメージです。

    よろしくお願いいたします。

      補足日時:2016/12/25 17:00

A 回答 (3件)

#2です。



>これはA001に対しての処理になりますね?

そうです。これを一例として改造して頂ければと思ったのですが。

つまりは、最後に転記する先の行(書き換えた単価を記入する行)を取得して、
そこに落とし込めばよいと思います。

たとえば、A005 だとするならば、転記先の表の「A005」の行を探しに行く。
転記する行(たとえば k ) を取得し、その上で、
Cells(k, 3).Value = TextBox2.Value
とでもすればよいと思います。
    • good
    • 1
この回答へのお礼

soixanteさん

なんとかいけそうです。

ありがとうございます。

お礼日時:2016/12/25 19:12

適宜改造ください。



UserForm1 にテキストボックスが3つとコマンドボタンを1つ配置。
商品コード、単価、仕入先。

標準モジュールに以下を書いてみる
******************************
Sub ユーザーフォーム表示()
With UserForm1
.TextBox1 = Cells(3, 2).Value
.TextBox2 = Cells(3, 3).Value
.TextBox3 = Cells(3, 4).Value
.Show
End With
End Sub
******************************

UserForm1のCommandButton1 に以下を書いてみる

******************************
Private Sub CommandButton1_Click()
Cells(3, 3).Value = TextBox2.Value
Unload Me
End Sub
******************************

ご意向に沿っていない場合すみません。
「VBAでVLOOKUPで取得したセルの値」の回答画像2
    • good
    • 0
この回答へのお礼

soixanteさん

ありがとうございます。
これはA001に対しての処理になりますね?
すべての商品コードに対して、有効にするにはどうすればいいのでしょうか?
商品コードはユーザーフォームでコンボボックスになっています。
私の説明が悪く、申し訳ございません。
Private Sub CommandButton4_Click()
Dim x As Variant
'コンボボックス2の値を取得
x = ComboBox2.Value
With ActiveSheet
'D列(1列目)の商品コードを表示
TextBox1.Value = _
Application.WorksheetFunction.VLookup(x, Range("D5:AI31"), 1, False)
'F列(3列目)の単価を表示
ComboBox1.Value = _
Application.WorksheetFunction.VLookup(x, Range("D5:AI31"), 3, False)
'G列(4列目)の仕入先を表示
TextBox2.Value = _
Application.WorksheetFunction.VLookup(x, Range("D5:AI31"), 4, False)
'L列(4列目)の納入先を表示
TextBox3.Value = _
Application.WorksheetFunction.VLookup(x, Range("D5:AI31"), 9, False)
'M列(4列目)の担当者を表示
TextBox4.Value = _
Application.WorksheetFunction.VLookup(x, Range("D5:AI31"), 10, False)
'V列(4列目)の単価更新日を表示
TextBox5.Value = _
Application.WorksheetFunction.VLookup(x, Range("D5:AI31"), 19, False)
End With
End Sub

上記のようにvlookupでA001に対する情報は取得できています。
一つのユーザーフォームですべての商品コードを編集・再登録できればと思っております。

お礼日時:2016/12/25 18:20

もう少し詳しく状況を示したほうが良い気がします。


「編集」とは?
    • good
    • 0
この回答へのお礼

soixanteさん
ありがとうございます。

詳細に記入します。

お礼日時:2016/12/25 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!