- ベストアンサー
テキスト氏名、日付とExcel表の連動
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
途中まででも出来ているのでしょうか、最初から作ってくれ? しばらくお付き合いしますが、まず >日付1、日付2を入力したら ではなく、入力後、ボタンを押したらにしましょう、ミスが少なくなります。 ここで、3行目が数値なのか、日付なのかが問題です。 この部分は、同じタイプを入力させるべきですね。 更に、テキストフォームでなく、リストボックスを使いましょう。 入力ミスがなくなりますし、コードを書く上でエラー処理が必要でなくなります。 テキスト氏名は A列の中から選択 日付は 3行目から選択するようにすれば それぞれに、リストインデックスが数値で得られますので、何行目の何列目というのは 検索をかける必要なく得られます。 それと、添付の画像が印刷か何かの為に必要な様式ですよね、私であれば、別途 A B C 氏名 日付1 日付2 ・・・・ とデータを確保するシートを準備して、フォーム上のボタンを押すとデータが記録されていく 表示されているシートには、関数で所定の位置に○が表示される様にしますが 如何でしょうか?
その他の回答 (1)
- hallo-2007
- ベストアンサー率41% (888/2115)
No1です。ユーザーフォームを使わずに一案です。 データ入力用のシートを準備します(仮に Sheet2) A B C D E 氏名 日付1 日付2 作業列 作業列 うめだ 1/3 1/7 ・・・・ と入力していきます D列には =A2&B4 E列には =A2&C2 と入れてたっぷりと下までコピーしておきます。 目的のシートの3行目には 日付で入力します。 表示形式で 日だけの表示にすれば、見た目は同じになります。 B4セルに =IF(COUNTIF(Sheet2!$D:$E,$A4&B$3),"○","") といれて右へコピー、下へコピーしておけば、Sheet2にデータを入力するだけで ご希望のセルに○が表示されます。 ユーザーフォームで入力するより、セルに直接入力した方が簡単でしょうし 修正も簡単ですよ。 また、入力したデータは、消去せずにず~と残しておくと後あと、便利です。
お礼
有難うございます。簡単そうですのでやってみます。
お礼
有難うございます。フォーム内の入力内容を別シート写しその後の関数で本来のシートにマークでできるよう頑張ります。