我正在寫一個簡單的格式化宏來替換Excel中表格的行顏色。使用變量遍歷範圍(行和列)
我希望這個宏能夠格式化任何大小的表(不管行/列大小)。
例如,我想宏時我有6行4列,或4行5列,或9行10列的圖表工作,等等
這裏是我到目前爲止的代碼 - 但我得到一個運行時錯誤。
If ActiveSheet Is Nothing = False Then
Set MyWS = ActiveWorkbook.ActiveSheet
lastCol = MyWS.UsedRange.Columns.Count + 1
lastRow = MyWS.UsedRange.Rows.Count + 1
For Each Cell In Range(lastRow, lastCol) ''change range accordingly
If Cell.Row Mod 2 = 1 Then
Cell.Interior.ColorIndex = 15 ''color to preference
Else
Cell.Interior.ColorIndex = 14 ''color to preference or remove
End If
Next Cell
End If
我已經試過範圍的多個版本 - 讓列VAR是第一位的,具有「&」而不是逗號等
如果我只使用範圍(「A1:一「& lastRow),它將工作,但只適用於列A中的數據。 我需要它跨越圖表中的所有列。
糟糕,也不需要使用整數遍歷行。可以使用'For Each r In MyWs.UsedRange.Rows'作爲@ A.S.H回答。 –
感謝您的留言。有趣的是,我的回答被拒絕了,由一些未知的人沒有勇氣提及任何投票的理由... –