我正在尝试为我的工厂的团队制作一个易于使用的跟踪表。 5列是输入数据的位置。
每个任务都是它自己的行。 “Category”和“SME”列是数据验证下拉列表。
目前,我有一个灰色的任务栏似乎已经抖动,除了输入任务之外的任何内容;此自动填充行编辑的日期。然后用户选择“类别”,“SME”,并输入“小时”。
当任务被清除时,它将自动填充单词任务并再次应用灰色,同时清除该行上的所有其他信息。我遇到的问题是我需要包含500行任务,因为每张表都是按月计算的。这些表还需要自动运行VBA;没有选择或启动宏 - 我的人不明白。我知道要做的是将日期人口作为一般应用,但其他一切都是按行和excel说我的程序太长了。请帮忙。
TLDR:在完成所有自动填充和删除操作时,我需要帮助将我的代码合并为该行的唯一代码。
Private Sub Worksheet_Change(ByVal Target As Range)
' ////////////////////General Actions////////////////////
Dim A As Range, B As Range, Inte As Range, r As Range
Set A = Range("B:B")
Set Inte = Intersect(A, Target)
If Inte Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In Inte
r.Offset(0, 3).Value = Date
Next r
Application.EnableEvents = True
' ////////////////////General Actions////////////////////
' ////////////////////Row 6////////////////////
If InStr(1, ActiveSheet.Range("B6").Value, "Task") > 0 Then
Range("B6").Font.Color = RGB(161, 161, 161)
Else
Range("B6").Font.Color = vbBlack
End If
If Not Intersect(Target, Range("B6")) Is Nothing Then
If Range("B6").Value = "" Then
Range("B6").Value = "Task"
End If
End If
If Not Intersect(Target, Range("B6")) Is Nothing Then
If Range("B6").Value = "Task" Then
Range("F6").Value = ""
End If
End If
If Not Intersect(Target, Range("B6")) Is Nothing Then
If Range("B6").Value = "Task" Then
Range("E6").Value = ""
End If
End If
If Not Intersect(Target, Range("B6")) Is Nothing Then
If Range("B6").Value = "Task" Then
Range("C6").Value = "Please select…"
End If
End If
' ////////////////////Row 6////////////////////