• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データ検索後の上書き)

データ検索後の上書き

このQ&Aのポイント
  • 特定の社員データを検索し、修正入力するマクロを作成
  • 検索された社員データをデータシートに上書きする処理
  • 入力フォームに記載された社員番号を元にデータを検索し、修正情報を入力するマクロの作成

質問者が選んだベストアンサー

  • ベストアンサー
  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.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も代入することを忘れずに テストしてませんがたぶんこれでいいと思います。 うまくいかなかったらまた書いてください。

hahalu0589
質問者

お礼

ご回答ありがとうございます。おかげさまで希望どおりうごきました。

その他の回答 (1)

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

質問は何ですか? どこかエラーになるとか動作が思いと違うとか

hahalu0589
質問者

補足

説明不足で失礼しました。 検索後に抽出データに対し修正入力をおこなった場合、そのままもとのデータに上書きされるような別のマクロボタンなどを追加したく思います。

関連するQ&A