我需要根据变量的状态插入或删除一些行。
Sheet1 有一个数据列表。使用已格式化的 sheet2,我想复制该数据,因此 sheet2 只是一个模板,而 sheet1 就像一个用户表单。
在 for 循环之前,我的代码所做的是获取仅包含数据的工作表 1 中的行数以及包含数据的工作表 2 中的行数。
如果用户向 sheet1 添加更多数据,那么我需要在 sheet2 中的数据末尾插入更多行,如果用户删除 sheet1 中的一些行,则从 sheet2 中删除行。
我可以得到每个的行数,所以现在要插入或删除多少行,但这就是我遇到的问题。我将如何插入/删除正确数量的行。我也想在白色和灰色之间交替行颜色。
我确实认为删除 sheet2 上的所有行然后使用交替行颜色插入 sheet1 中相同数量的行可能是一个想法,但是我再次看到有关在条件格式中使用 mod 的一些信息。
有人可以帮忙吗?
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim listRows As Integer, ganttRows As Integer, listRange As Range, ganttRange As Range
Dim i As Integer
Set listRange = Columns("B:B")
Set ganttRange = Worksheets("Sheet2").Columns("B:B")
listRows = Application.WorksheetFunction.CountA(listRange)
ganttRows = Application.WorksheetFunction.CountA(ganttRange)
Worksheets("Sheet2").Range("A1") = ganttRows - listRows
For i = 1 To ganttRows - listRows
'LastRowColA = Range("A65536").End(xlUp).Row
Next i
If Target.Row Mod 2 = 0 Then
Target.EntireRow.Interior.ColorIndex = 20
End If
End Sub