我創建了一個VB程序來自動更新組項目的甘特圖。但現在球隊想要添加一個新球隊。問題是添加一個新列會改變我的代碼並使其無法使用。可以在不更改代碼的情況下添加行,但是如果添加新列,我將不得不更新所有代碼。我怎樣才能添加一個列而無需編寫我的VB代碼?在不改變VB代碼的情況下在Excel中添加新列
Private Sub Worksheet_Change(ByVal Target As Range)
Dim StartDate_Row As Integer
Dim Total_Weeks As Integer
Dim Date_Week_Column As Integer
Dim Number_of_Weeks As Integer
Dim Date_Week_Column_Color As Integer
StartDate_Row = 10
Date_Week_Column = 8
Range("H9:AN25").Interior.Color = xlNone
Do
For Total_Weeks = 1 To 33
If Cells(StartDate_Row, 5).Value = Cells(8, Date_Week_Column).Value Then
Date_Week_Column_Color = Date_Week_Column
For Number_of_Weeks = 1 To Cells(StartDate_Row, 6).Value
If Cells(StartDate_Row, 7).Value = 25 Then
Cells(StartDate_Row, Date_Week_Column_Color).Interior.Color = RGB(204, 255, 299)
End If
If Cells(StartDate_Row, 7).Value = 50 Then
Cells(StartDate_Row, Date_Week_Column_Color).Interior.Color = RGB(153, 255, 204)
End If
If Cells(StartDate_Row, 7).Value = 75 Then
Cells(StartDate_Row, Date_Week_Column_Color).Interior.Color = RGB(102, 255, 178)
End If
If Cells(StartDate_Row, 7).Value = 100 Then
Cells(StartDate_Row, Date_Week_Column_Color).Interior.Color = RGB(50, 200, 100)
End If
If Cells(StartDate_Row, 7).Value = 0 Then
Cells(StartDate_Row, Date_Week_Column_Color).Interior.Color = RGB(149, 179, 215)
End If
Date_Week_Column_Color = Date_Week_Column_Color + 1
Next Number_of_Weeks
End If
Date_Week_Column = Date_Week_Column + 1
Next Total_Weeks
Date_Week_Column = 8
StartDate_Row = StartDate_Row + 1
Loop While (Not IsEmpty(Cells(StartDate_Row, 5)))
End Sub
你不能。您修改代碼。 – 2014-10-02 10:17:16
它實際上可能只是在插入一些額外的列後調整'Date_Week_Column = 8'來匹配右列。另外'如果單元格(StartDate_Row,7)'第7列'當前是硬編碼的 - 也可能需要調整。 – 2014-10-02 10:32:41
你可以給你的數據庫在Excel中的截圖。比重新創建場景更容易 – ZAT 2014-10-02 10:36:15