我希望您在我目前面临的问题上提供帮助。 我有2张,
主数据表将包含所有进程名称以及相应的活动以及其他列中的其他一些详细信息。 (基本上是数据库)我在主数据表中有4列,即进程名称,活动,活动所有者和小时。
在“详细活动”表中,有多个列,包括主数据表中的列。 (即流程名称,活动,活动所有者和营业时间。)
问题:
当我在"流程名称"的详细活动表中输入流程名称时,我想在计划表中自动填充相应的活动,活动所有者和小时列。 然后,当在输入的前一个过程名称下面输入另一个过程名称时,相应的列应该自动填充。(根据主数据表中提到的详细信息)。
我制作了这段代码,但我给出了具体的范围。以下代码仅适用于1个进程名称。 (这就是我给出具体范围的原因) 我想编写至少40个进程的代码,我应该可以输入一个低于另一个的范围。
For Detailed Activity Sheet
Column C = Process name
Column L = Activity
Column M = Activity Owner
Column N = Hours
For Master Data Sheet
Column A = Process name
Column B = Activity
Column C = Activity Owner
Column D = Hours
对于转移过程,有10行Acitvity,Activity所有者和小时。 所以,当我进入"转移"在详细活动表的流程列中,代码应搜索关键字" transfer"在主数据表中,然后将活动,活动所有者和小时的相应行数从主数据表复制到详细的活动表。
然后当我输入另一个进程名称时,应该再次执行相同的功能。
评论代码
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Select Case Range("C2").Value
Case "Transfer"
Sheets("Detailed Activities").Range("L2:L12").Value = _
Sheets("Master Data Sheet").Range("B2:B12").Value
Sheets("Detailed Activities").Range("M2:M12").Value = _
Sheets("Master Data Sheet").Range("C2:C12").Value
Sheets("Detailed Activities").Range("N2:N12").Value = _
Sheets("Master Data Sheet").Range("D2:D12").Value
End Select
Application.EnableEvents = True
End Sub