入力したデータを修正するための専用フォームユーザーフォームから順調に入力していたとしても、人間ですから、入力ミスもありますし、修正が必要なこともでてきます。直接シート上で修正しても良いのですが、同じ形式のフォームから修正できた方が便利です。マクロ36回サンプルデータ)Worksheetのイベントプロシージャ以下のような表で、行を選択したときに、そこにデータがあれば、その行を修正用のユーザーフォームに取り込むようにしましょう。VBEを起動しします。使うFORMは35回の登録フォームと同様のものですが、ボタンの名称などを変更して修正用のフォームにしています。Sheet1を選択し、右クリックからコードの表示を選びます。Sheet1をダブルクリックしてもコードを表示できます。コードウィンドウの左側のプルダウンでWorksheetを選択し、右側のプルダウンからは、SelectionChangeを選択します。シートからデータをフォームに取り込むコードは次のようにしました。udfrm2は更新用に変更したフォームの名称です。Thenターゲットが空じゃない時は、If以下の処理をしなさいという意味です。Range("B5:J10000")は、使用するデータに応じて変更してください。コード記入後、行を選択すると、フォームが表示されます。オプションボタンで入力している、性別以外は、データの値が取得できました。残るはオプションボタンの値の取得です。セルに入力された値が男なら、男性のオプションボタンにチェックする、それ以外は女性にチェックを入れるというコードを追加します。Ifフォームを起動すると、選択した行データを取得しました。データでは女性となっていますが、間違っているので、男性に訂正します。それを元の行に記入しなおす必要があります。フォームを閉じてVBEに戻ります。シートに更新データを上書きするコード更新ボタン(cmdRewite)を押すと、フォーム上の訂正されたデータに修正されるようにコードを記述します。コマンドボタンをクリックしたら、以下のコードを実行するように記述します。コードでMeとあるのは、対象となるフォームudfrm2のことです。Target.EntireRow.Addressとして取得しているので、それを無駄にせず、フォームにテキストラベルを作成し表示しておくことにします。Worksheet_SelectionChangeに1行追加しておきます。Target.Rowは、行を移動する時にも使います。Excelで修正したい行を選択して、更新フォームを起動させます。女と入力されていたデータが男に更新されました。次回は前ボタン、次ボタンでリストの行を選択できるようにします。