- ベストアンサー
データ検索後の上書き
- 特定の社員データを検索し、修正入力するマクロを作成
- 検索された社員データをデータシートに上書きする処理
- 入力フォームに記載された社員番号を元にデータを検索し、修正情報を入力するマクロの作成
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まずあなたのコードを見ます。 Sub ボタン1_Click() Dim tmpInt As Integer, motoHani(), myRng As Range, i As Integer tmpInt = Worksheets("入力フォーム").Range("C4").Value ’入力フォームシートのC4の値をtmpintに代入(たぶん社員ID) motoHani = Array("C6", "C7", "C8", "F8", "C10", "C11") '入力フォーム上の対象セルをmotohanimにセット Set myRng = Range("社員テーブル").Columns(1).Find(tmpInt, LookAt:=xlWhole) '社員テーブル上のtmpint(社員ID)の一致するセルを取得 If myRng Is Nothing Then MsgBox "該当する事案はありません" Exit Sub End If '以上見つからなかったときの処理 For i = 0 To UBound(motoHani) Range(motoHani(i)).Value = myRng.Offset(0, i + 1) Next '見つかったら入力フォーム上の対象セルにその行の値を代入 End Sub で目的の処理は 入力フォーム上のC4セルで社員テーブルを検索 見つかったら入力フォーム上の対象セルをその行に代入 つまりセルを見つけるまでは一緒で代入が反対になるだけでいいと思います。 Range(motoHani(i)).Value = myRng.Offset(0, i + 1) を myRng.Offset(0, i + 1)=Range(motoHani(i)) に変えたSubを作ればOKだと思います。 おまけ 新規追加のときは最後の列を見つけて同じ代入処理でできますがこのときは社員IDも代入することを忘れずに テストしてませんがたぶんこれでいいと思います。 うまくいかなかったらまた書いてください。
その他の回答 (1)
- rivoisu
- ベストアンサー率36% (97/264)
質問は何ですか? どこかエラーになるとか動作が思いと違うとか
補足
説明不足で失礼しました。 検索後に抽出データに対し修正入力をおこなった場合、そのままもとのデータに上書きされるような別のマクロボタンなどを追加したく思います。
お礼
ご回答ありがとうございます。おかげさまで希望どおりうごきました。