Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12240 / 13644 ツリー ←次へ | 前へ→

【11533】データの書き換えについて くーさん 04/3/11(木) 1:26 質問
【11535】Re:データの書き換えについて IROC 04/3/11(木) 9:42 回答
【11563】Re:データの書き換えについて くーさん 04/3/11(木) 15:28 質問
【11565】Re:データの書き換えについて Jaka 04/3/11(木) 16:03 回答
【11573】Re:データの書き換えについて くーさん 04/3/11(木) 17:20 お礼

【11533】データの書き換えについて
質問  くーさん  - 04/3/11(木) 1:26 -

引用なし
パスワード
   初めて投稿します。

1000人以上いる会員データを作っています。
データはセルに全て入力して、ユーザーフォームで表示させています。

コンボボックスで会員Noを選び、その会員のデータをテキストボックス等に表示させます。
住所変更等があった場合、どのようにして変更処理をさせればよいのでしょうか?
某参考書を見たところ、スピンボタンを使用していましたが、スピンボタンを使用せずに変更項目を入力しただけで変更処理をしたいと思ってます。
変更する入力欄は「テキストボックス」と「コンボボックス」を使用してます。

その会員の住所を入力してるセルを選出して、変更処理を行う。
理屈では分かっていても、記述が分かりません。
2日丸々悩んでます。
新規登録は全然分かるんですが…。

良く分かりにくい文とは思いますが、分かる方が居ましたら回答をお願いします。

【11535】Re:データの書き換えについて
回答  IROC  - 04/3/11(木) 9:42 -

引用なし
パスワード
   会員NoがA列にあり、会員NoをTEXTBOX1に入力するとして
検索させて行を特定できます。(重複する会員Noがないものとする)

そしてB列に名前があるとし、Textbox2 に表示する場合。

textbox1 に入力後、CommandButton1 で実行するなら

Private Sub CommandButton1_Click()
Dim FindData As Range
Dim KeyWord As String

with Worksheets("Sheet1")

KeyWord = TextBox1.text
  Set FindData = .Range("A:A"). _
         Find(KeyWord, LookIn:=xlValues, LookAt:=xlWhole)

  If FindData is Nothing then
    Msgbox "見つかりませんでした。"
    Exit Sub
  End If

  TextBox2.text = .Cells(FindData.Row , 2).Value

End with
end sub

【11563】Re:データの書き換えについて
質問  くーさん E-MAIL  - 04/3/11(木) 15:28 -

引用なし
パスワード
   早速の回答、ありがとうございます。

しかし、しかし・・・、
この方法って、TextBox2に表示させるだけですよね?
私がしたいのはTextBox2に入力した項目をセルデータに反映(変更)したいのです。

自分では調べてみるものの、解決策が分からず質問を繰り返してすいません。
よろしければ、もう1度ご回答をお願いします。m(_ _)m

【11565】Re:データの書き換えについて
回答  Jaka  - 04/3/11(木) 16:03 -

引用なし
パスワード
   こんにちは。

こんな感じの事でしょうか?

Private Sub CommandButton1_Click()
  Dim KaiinNo As Long, CellGyo As Variant
  KaiinNo = ComboBox1.List(ComboBox1.ListIndex)
  CellGyo = Application.Match(KaiinNo, Columns(1), 0)
  If IsError(CellGyo) = True Then
    MsgBox "一致する番号がありません。"
  Else
    MsgBox "一致する番号は、" & CellGyo & "行目にありました。"
    Cells(CellGyo, "A").Value = TextBox2.Value
    Cells(CellGyo, "B").Value = TextBox3.Value
    Cells(CellGyo, "C").Value = TextBox4.Value
  End If
End Sub

【11573】Re:データの書き換えについて
お礼  くーさん E-MAIL  - 04/3/11(木) 17:20 -

引用なし
パスワード
   出来ました!!!
自分のプログラムがちゃんと動いた時って、感動ですよね?
この喜びが、周りの人間、誰も分かってくれないので、1人で喜びをかみ締めてます!w

IROCさん
Jakaさん
ありがとうございました!

今更(?)なんですが、Diimの後の記述って何でもいいんですね。
てっきり決まってるものと思ってました。
ちなみに、VBA始めて4日目の初心者がいきなり大技を使おうとすると、やっぱ行き詰まりますね…。(^-^;)

12240 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free