我已经尝试了一段时间,但无法弄清楚此问题的for
代码。
在sheet1中有一张表格,该表格有两列,一列有职位,下一列有可以从事这些职位的人。
在sheet2中,我有所有职位的列表,当您选择一个SKU时,将突出显示应该配备人员的职位,除此以外的两列是员工的下拉列表。
该工作表还具有一个范围,该范围显示当天不工作的员工。
试图实现@BruceWayne答案的代码是:
Option Explicit
'use a constant to store the highlight color...
Const HIGHLIGHT_COLOR = 9894500 'RGB(100, 250, 150)
Sub AssignBided()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim cel1 As range
Dim cel2 As range
Dim line8 As range
Dim Offemp As range
Dim BidL8 As range
Dim BidL8E As range
Dim coresVal As String
Set ws1 = Worksheets("OT_Table")
Set ws2 = Worksheets("Monday")
Set line8 = ws2.range("Line8_Hilight_Mon")
Set Offemp = ws2.range("Off_Mon")
Set BidL8 = ws1.range("BidedL8")
Set BidL8E = ws1.range("BidedL8_E")
For Each cel2 In BidL8E
For Each cel1 In line8
If IsHighlighted(cel1) Then
If Application.WorksheetFunction.CountIf(Offemp, cel2.Value) > 0 Then
coresVal = Evaluate("Index(" & BidL8E.Address & "),MATCH(" & cel1.Validation & "," & BidL8.Address & ",0))")
Debug.Print coresVal
cel1.Offset(0, 2).Value = coresVal
End If
End If
Next cel1
Next cel2
End Sub
'Is a cell highlighted? EDIT: changed the function name to IsHighlighted
Function IsHighlighted(c As range)
IsHighlighted = (c.Interior.Color = HIGHLIGHT_COLOR)
End Function
此代码给我这个错误:对象不支持此属性或方法。它突出显示evaluate
行。我是否以某种错误的方式使用它?
答案 0 :(得分:1)
从评论中,我认为这就是您想要做的。
(我重命名了一些变量,以使它们更易于理解。此外,根据需要调整命名范围。它们可能不是全部都在“ OT_Table”表中,我以为是。这还不清楚。)>
{{ hostvars["machine1"].var }}