[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マスターからの読み込み』(みき1995)
現在生産計画の簡易板を作成しようとしています。
まずはマスターとして
A機種 120分 B機種80分 C機種160分などを作成します。
エクセルにA列縦に時間を20分単位で24時間分手入力します。
そこでB列にA機種をいれるとC列に6セル分色またはマスターでいれた数値を返したいです。
また7行目からは空白なのでB7にB機種と入れ4セル分またうまります
9:00 A機種 A
9:20 A
9:40 A
10:00 A
10:20 A
10:40 A
11:00 B機種 B
11:20 B
11:40 B
12:00 B
のようなものを何種類かつくりたいと思っています。
色々検索しましたがわからないためにご教授頂ければ
幸いです。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
関数での処理案は、いずれ専門家さんからあると思いますが場つなぎでVBA。 マスタ(どのシートでもOK)は、機種名と分数(20分の倍数であること)のリストを作成し その機種名のセルのそれぞれの背景色を好みの色にしておきます。 で、そのリスト全体を List という名前にしておきます。
Sub Test() Dim c As Range Dim dic As Object Dim w As Variant
Application.ScreenUpdating = False
Columns("C").ClearContents Columns("C").Interior.ColorIndex = xlNone Set dic = CreateObject("Scripting.Dictionary")
For Each c In Range("List").Columns(1).Cells dic(c.Value) = Array(c.Offset(, 1).Value, c.Interior.Color) Next
For Each c In Range("B1", Range("B" & Rows.Count).End(xlUp)) If Not IsEmpty(c) Then If dic.exists(c.Value) Then w = dic(c.Value) c.Offset(, 1).Resize(w(0) / 20).Interior.Color = w(1) Else c.Offset(, 1).Value = "**登録なし**" End If End If Next
End Sub
(β) 2016/07/07(木) 19:33
もし、前(上)のスケジュールがまだ終わらないのに、B列に機種名があった場合、D列にワーニングをだしてみました。
Sub Test2() Dim c As Range Dim dic As Object Dim w As Variant
Application.ScreenUpdating = False
Columns("C").ClearContents Columns("C").Interior.ColorIndex = xlNone Columns("D").ClearContents Set dic = CreateObject("Scripting.Dictionary")
For Each c In Range("List").Columns(1).Cells dic(c.Value) = Array(c.Offset(, 1).Value, c.Interior.Color) Next
For Each c In Range("B1", Range("B" & Rows.Count).End(xlUp)) If Not IsEmpty(c) Then If dic.exists(c.Value) Then w = dic(c.Value) If c.Offset(, 1).Interior.ColorIndex <> xlNone Then c.Offset(, 2).Value = "★★スケジュールがダブっています★★" c.Offset(, 1).Resize(w(0) / 20).Interior.Color = w(1) Else c.Offset(, 1).Value = "**登録なし**" End If End If Next
End Sub
(β) 2016/07/07(木) 19:49
1.マスタテーブルを作る(下図サンプルでは F2:G4 )
G2セル =TEXT(F2/1440,"h:m")*1 下にコピー
2.時刻データを入力
(1)A2セルに9:00と入力 (2)A3セルに =TEXT(A2+"0:20","[h]:mm")*1 下にコピー
3.稼働欄(C列)に数式を埋める
C2セル =IF(B2<>"",IF(C1="┃","┫","┓"),IFERROR(TEXT(VLOOKUP(LOOKUP("ー",B$1:B2),E$2:G$4,3,FALSE)-TEXT(A2-LOOKUP("ー",B$1:B2,A$1:A2),"h:m"),"""┃"";;""┛"""),"")) 下にコピー
<結果図> 行 __A__ ___B___ __C__ _D_ ___E___ __F__ __G__ 1 時刻 機種名 稼働 機種名 x分間 x時間 2 9:00 A機種 ┓ A機種 120 2:00 3 9:20 ┃ B機種 80 1:20 4 9:40 ┃ C機種 160 2:40 5 10:00 ┃ 6 10:20 ┃ 7 10:40 ┃ 8 11:00 B機種 ┫ 9 11:20 ┃ 10 11:40 ┃ 11 12:00 ┃ 12 12:20 ┛ 13 12:40 14 13:00
(半平太) 2016/07/07(木) 20:02
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.