我想将样式应用于Excel行,仅当受影响的列具有值且不为空时。
但是,我已尝试使用if,for和while指令,但我没有结果。
我的上一个代码是:
Dim i As Excel.Range
Do While Not String.IsNullOrEmpty(xlWorksheet.Columns(i))
xlWorksheet.Rows(5).Style = "FormatoHeader"
Loop
我必须改变指示吗? 为什么我的周期错了? 如何格式化这些单元格,仅对该行进行格式化,并且只有在单元格有数据的情况下?
提前致谢
答案 0 :(得分:0)
好吧,我忘了提到我想格式化该行,因为它是表格的标题。
我的表格是一个表格,因此它有预定义的样式。
Sheet.ListObjects.Add(Excel.XlListObjectSourceType.xlSrcRange,
.Range("B5:X50"), Excel.XlYesNoGuess.xlYes).Name = "CuteTable"
我将Excel样式更改为另一个预定义样式(在这种情况下,我需要一个绿色样式):
Sheet.ListObjects("CuteStyle").TableStyle = "TableStyleMedium4"
好吧,编辑标题的简短方法是调用对象HeaderRowRange
并像这样添加属性:
.ListObjects("CuteTable").HeaderRowRange.Font.ColorIndex = 1 'This is black
.ListObjects("CuteTable").HeaderRowRange.Interior.Color = 55555 'this is a green
漫长的方法是创建一个新样式并将其存储在变量中:
Dim hstyle As Excel.Style=Sheet.Application.ActiveWorkbook.Styles.Add("hstyle")
hstyle.Font.Bold = True
hstyle.Interior.Color = 333
然后,将样式应用于表格的标题:
Sheet.ListObjects("CuteTable").HeaderRowRange.Style = "hstyle"