• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:初心者ですがセルの変更について教えてください。)

初心者でもわかりやすいセルの変更方法とは?

このQ&Aのポイント
  • 初心者でもわかりやすいセルの変更方法について教えてください。シフト表作成で1日分の構文を使っているが、1月分(31日)同じ構文を使う方法を教えてください。カレンダを横列に表示し、縦列は7名分です。
  • エクセル初心者がセルの変更方法を教えてください。シフト表作成のために作成した構文は1日分のみ対応していますが、1月分(31日)同じ構文を使う方法を教えてください。カレンダを横列に表示し、縦列は7名分です。
  • セルの変更方法について教えてください。エクセル初心者ですが、シフト表作成のために作成した構文は1日分のみ対応しています。1月分(31日)同じ構文を使う方法を教えてください。カレンダを横列に表示し、縦列は7名分です。

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

  • ベストアンサー
  • ki-aaa
  • ベストアンサー率49% (105/213)
回答No.1

こんにちわ 回答者はあなたのワークシートの配置がわからないので、 返事のしようがないのです。 推測ですが、Targetをある決まったセル範囲にしたいのでと思います。 次のようなステートメントになります 詳しくはぐーぐるで vba intersect で検索してください。 If Intersect(Target, Range("セル範囲")) Is Nothing Then   それから、これも推測です。 worksheets("勤務表").range("o10") = worksheets("勤務表").range("o11") worksheets("勤務表").range("o12")  ↓ i = Target.Row j = Target.Column Worksheets("勤務表").Cells(i + 1, j) = Worksheets("勤務表").Cells(i + 2, j) = worksheets("勤務表").Cells(i + 3, j) = のようにすればと思います。

taka7110
質問者

お礼

回答ありがとうございます。 質問の仕方が悪く、申し訳ありませんでした。 早々、実践してみます。

taka7110
質問者

補足

ki-aaa 様 先日はありがとうございました。 早速、プログラムを修正してみましたが、実行時エラー(intersect メゾッドは失敗しました)表示され上手くいきません。 修正構文は次の通りですがカレンダ表示下のセルに勤務形態が入力されたら、出勤時間、退社時間、実働時間を各セルに表示させたいのですが シート(勤務表)     O8からAS8   (カレンダ表示)     O9からAS9   勤務形態     O10からAS10 出勤時間     O11からAS11 退社時間     O12からAS12 実働時間 シート(勤務時間)     A1からD9(勤務時間表示) A列に勤務コードリスト作成      A列     B列      C列      D列 1行 勤務形態  出勤時間   退社時間  実働時間 2行 3行 4 5 6 private sub worksheet_change(byval target as range) dim r integer, myrenge as range set target = worksheets("勤務時間").range("勤務コード") with target if intersect(target,range("勤務表").range("O9:AS9")) is nothing then r = applicastion.worksheetfunction,match(target.value,myrange,0) i = target.row j = target.column worksheets("勤務表").cells(i+1,j).value=worksheets("勤務時間").range("B1").offset(r-1).value worksheets("勤務表").cells(i+2,j).value=worksheets("勤務時間").renge("C1").offset(r-1).value worksheets("勤務表").cells(i+3,j).value=worksheets("勤務時間").renge("D1").offset(r-1).value end if end with end sub

関連するQ&A

専門家に質問してみよう