根據變量的狀態,我需要插入或刪除一些行。Excel VBA在範圍末尾插入/刪除行
Sheet1有一個數據列表。對於格式化的sheet2,我想複製該數據,因此sheet2只是一個模板,而sheet1就像一個用戶表單。
我的代碼在for循環之前的工作是獲取工作表1中只包含數據的行數以及包含數據的sheet2中的行數。
如果用戶向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
一個示例工作簿肯定會有所幫助:) –
我該怎麼做? – AdRock
在www.wikisend.com上傳示例文件,然後在此分享鏈接。確保文件不包含任何機密數據。您也可以上傳這兩張表格的屏幕截圖。 –