- 締切済み
工程表作成を上司から急ぎで頼まれてますが・・
OS: ウィンドウズ8 エクセル2010にて工程表を作成中です。ある作業が選択されたら、すぐに別のシート(シート名:仕分け作業)に その発生した日付が飛ぶようにしたいのですが、お知恵を拝借できますでしょうか 画像では、6工程のみ載せてますが、実際には、A3仕様で24工程になります。工程は、左右上下しますので選択にて矢印を決めるように作成してあります。 この中の作業内容はドロップダウンにて50種程から選択できるようになってます。その50種中の一作業(仕分け作業)が選択された時点で、その実行日が別シート(仕分け作業) の1セル(仮:A1)に飛ぶようにしたいのですが、ここで、問題なのは、24工程あるうちのどの段階で仕分け作業が選択されるかわからないのです。 その場合の公式を教えて頂けたら、とても助かります。 一旦は上司に提出したブックなのですが、更正が入りまして・・・そのようにしてくれといわれましても・・・・私の技能ではとうてい叶いません。どなたかお詳しい方宜しくお願い致します。 とりあえず、はじめの縦列の8工程で試してみようと・・・ネットで、調べながら作ってみた公式なのですが、やはり、エラー(RangeクラスのSelectプロパティを取得できません。)表示が出ます。仕分け作業シートに飛び、指定のセルまでは、行くのですが・・・その先で悩んでます。 間違いを教えていただけないでしょうか。 'シート1に何らかの変更が行われる度に発動します Sub Worksheet_Change(ByVal Target As Range) 'もし変更されたセルがE11~E63,M11~M63,U11~U63で入力された値が"仕分け作業"だったら If (Target.Range("E11:E63,M11:M63,U11:U63").Select And Target.Value = "仕分け作業") Then 'シート6をアクティブにして Sheet6.Activate 'シート6のC2に、変更されたセルのB14,B21,B28,B35,B42,B49,B56,B63のデータを入れる Sheet6.Range("C2").Value = Cells(Target.Range("B14,B21,B28,B35,B42,B49,B56,B63").Select) End If '該当しなかった場合は何もしない End Sub 補足: Sheet6.Range("c2").Value = Range("B14,B21,B28,B35,B42,B49,B56,B63").Value にすると仕分け作業シートに飛んで日付も入るのですが、はじめのB14しか有効ではありません。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- n-jun
- ベストアンサー率33% (959/2873)
>変更されたセルがE11~E63,M11~M63,U11~U63 >変更されたセルのB14,B21,B28,B35,B42,B49,B56,B63のデータ この2つはどういう事? >変更されたセルのB14,B21,B28,B35,B42,B49,B56,B63のデータを入れる これを優先させるなら >変更されたセルがE11~E63,M11~M63,U11~U63 この範囲を調べるのはおかしいし、 この範囲を有効にするなら 変更されたセルと代入元のセルとの関係が見えてこないよ?
補足
ありがとうございます。解決いたしました。