我正在尝试整理一张Excel表格,以帮助跟踪某些车辆的服务到期时间。
这个想法是表单将自动跟踪需要服务的天数。我在倒计时列上有条件格式,如果它显示的数字小于或等于5则变为红色。 我想更进一步,这样任何显示5天或更短天数的车辆都会被复制到第2页。
因此,如果倒计时列显示5天或更短的时间,我希望它将行中的一些列复制到表2并继续功能(倒计时仍然会下降)。
如果不可能,整行也会没问题。
这样,任何需要服务的车辆都显示在同一区域。
非常感谢任何帮助。
答案 0 :(得分:0)
我不是VBA专家,但你可以尝试这个作为首发。
将此代码粘贴到Alt + F11 - > VBAProject - > Microsoft Excel对象 - > Sheet1(Sheet1)
Private Sub Worksheet_Change(ByVal Target As Range)
'Declarations
Dim c1 As Object
Dim c2 As Object
Dim countdown As Integer
Dim rego As String
Dim duedt As String
Application.ScreenUpdating = False
Worksheets("Sheet2").Range("A2:C500").Clear
'Copy row
For Each c1 In Worksheets("Sheet1").Range("E3:E500").Cells
If c1.Value <= 5 And c1.Value <> 0 Then
countdown = c1.Value
rego = c1.Offset(0, -4).Value
duedt = c1.Offset(0, -1).Value
For Each c2 In Worksheets("Sheet2").Range("C2:C500").Cells
If c2.Value = "" Then
c2.Value = countdown
c2.Offset(0, -2).Value = rego
c2.Offset(0, -1).Value = duedt
Exit For
End If
Next c2
End If
If c1.Value = 0 Then
Exit For
End If
Next c1
Application.ScreenUpdating = True
End Sub
我假设&#39;倒计时&#39;不会有&#39; 0&#39;价值,你将有最多500个条目。