【问题标题】:Coloring cells below the first row in Excel VBAExcel VBA中第一行下方的单元格着色
【发布时间】:2015-08-15 09:38:36
【问题描述】:

每个人。 我在 Excel/VBA 中处理一个项目并遇到了一些问题。 所以,设置wsMain = ThisWorkbook.Sheets(3) 是我需要着色的工作表,我目前有

With wsMain
    .Columns("A:AO").AutoFit
    '.Range("A1:AO1").Columns.AutoFit
    .Cells.ClearFormats
    .Rows(1).Font.Bold = True
    .Cells.Font.Color = RGB(0, 0, 255)

我唯一需要做的就是为第一行下方工作表中的每个单元格着色。第一行被冻结,不应有任何背景颜色。

谁能提出解决这个问题的好方法?

谢谢,

【问题讨论】:

  • 请参阅 this,了解如何提出好问题并相应地编辑您的问题。这不是一个代码编写服务,而是一个为特定编程问题寻求特定答案的网站。
  • 我刚刚编辑了问题。

标签: excel background-color cells vba


【解决方案1】:

您可以使用Resize()Offset() 来完成此操作:

With wsMain
    .Columns("A:AO").AutoFit
    '.Range("A1:AO1").Columns.AutoFit
    .Cells.ClearFormats
    .Rows(1).Font.Bold = True
    .Cells.Resize(wsMain.Rows.Count - 1).Offset(1).Font.Color = RGB(0, 0, 255)

Resize 将范围调整为您指定的行数(以及可选的列数),因此我们只需获取工作表中的行数并减去一。然后我们使用Offset 将范围向下移动一行。

【讨论】:

  • 非常感谢!现在的问题是,当我为单元格着色时,边框消失了,我需要在代码中包含确保边框在着色后显示的代码。你能帮我解决这个问题吗?
  • .Rows(1).Font.Bold = True .Cells.Font.Name = "Georgia" .Cells.Font.Color = RGB(0, 0, 225) .Cells.Resize(wsMain .Rows.Count - 1).Offset(1).Interior.ColorIndex = RGB(216, 228, 188) 似乎不起作用..
  • 这应该使第一行加粗。所有单元格都设置为蓝色的“Georgia”字体。除了第一行之外的所有东西都应该涂成非常奇怪的浅绿色。您是否从该代码中获得了其他信息?有没有错误?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-03
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 1970-01-01
相关资源
最近更新 更多