- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2007VBA セルへ転記)
Excel2007VBAで日報データを転記する方法
このQ&Aのポイント
- Excel2007VBAを使用して、日報データを転記する方法を解説します。質問者はVBA初心者であり、[sheet1]に入力した日付、社員番号、日勤・残業の情報を[sheet2]の該当するセルに転記したいという要望があります。解決方法やアドバイスについてのヒントも求めています。
- Excel2007VBAを使用して、日報データを[sheet1]から[sheet2]へ転記する方法を解説します。質問者はVBA初心者であり、日付=4、社員番号=1002、日勤=1、残業=1(残業が無ければ0)と入力した場合、[sheet2]の該当するセルに値を転記したいという要望があります。解決方法やアドバイスについてのヒントも求めています。
- Excel2007VBAを使用し、[sheet1]に入力した日報データを[sheet2]へ転記する方法について解説します。質問者は日付、社員番号、日勤・残業の情報を[sheet1]に入力し、[sheet2]の該当するセルに値を転記したいという要望があります。VBA初心者であるため、解決方法やアドバイスについてのヒントも求めています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
日報シートの何番地のセルに何を記入しようとしているのか、説明がありません。 Sheet1の A1に日付 A2に社番 A3に日勤(1または0?) A4に残業(1または0) からSheet2に転記します。 日付は1から31までの単純な数字で記入しているものとします。 sub macro1() dim d as long dim r as long on error resume next d = worksheets("Sheet1").range("A1").value r = application.match(worksheets("Sheet1").range("A2").value, worksheets("Sheet2").range("A:A"), 0) ’データチェック if d = 0 then msgbox "BAD DATE" exit sub end if if r = 0 then msgbox "BAD NUMBER" exit sub end if ’本番 worksheets("Sheet2").cells(r, d + 3).value = worksheets("Sheet1").range("A3").value worksheets("Sheet2").cells(r + 1, d + 3).value = worksheets("Sheet1").range("A4").value end sub
お礼
早速のご回答ありがとうございます。 実は、一人の社員番号に5つの項目があります。 いずれも(0or1)が入ります。 それを縦、横でセルを探し出す事ができませんでした。 しかし今試したところ思い通りに行っております。 後は、腐りかかった頭をフル活動して物にしたいと思います。 本当にありがとうございました。 ただただ感謝です。
補足
昨日 sheetとセルを変え項目を増やし完璧に動いていました。 が、今日ウキウキで開いたところ "BAD DATE"で止まってしまいます。 何が潜んでいるのか・・・ 日付は、(D:AH)に1~31まで単純に入っております。 試行錯誤しているのですが何分"超"の付く初心者で頭が動きません。 今一度 ご教授頂けますでしょうか。