"a1:a"是表达什么,End(3)的3是什么意思?我是想要保留excel每一个单元格的黑色字体。
非常感谢你的回答,真是醍醐灌顶,拨云见日,让我茅塞顿开。不过能否帮我写条保留当前表格所以单元格的黑色字体的vba程序,我将不胜感激涕零。
追答没明白你的意思
追问我想你帮我做一个excel文件,里面通过vba实现:将保留非空单元格的黑色文字。因为我的系统导出的数据在同一个单元格里面有的是黑色字体,有的是白色字体,白色字体是无用字体,但是会影响排序,所以保留非空单元格的黑色字体。
追答Private Sub CommandButton1_Click()
Dim Ra As Range, I%
For Each Ra In Cells.SpecialCells(xlCellTypeConstants)
For I = Ra.Characters.Count To 1 Step -1
C = Ra.Characters(I, 1).Font.ColorIndex
If C xlAutomatic And C 1 Then Ra.Characters(I, 1).Delete
Next
Next
End Sub
运行上述代码,将当前工作表中不是黑色的字符全部删除
非常感谢你,能交个朋友吗?希望你留下个qq号码。我现在没有去运行,但是我觉得你这样程序会删除整个单元格吧,我的实际问题是一个单元格中包含白色字体和黑色字体,我要保留这个单元格的黑色字体,而不是删除这个单元格。
针对第一列中第一行到最后一行非空单元格区域的所有单元格进行循环操作。
for each xx1in xx2
是循环语句,对在xx2集合中的每一个元素进行后面的操作,最终以next结尾。
range(“单元格地址”),指的是单元格区域。引号中使单元格地址,例如a1:b2等等。
Range(“A65536”)为单元格,Range(“A65536”).end(3),向上区域的结束单元格。类似于在A65536单元格上进行Ctrl+向上箭头的操作。
range(“”).row,返回行号
针对vba代码的帮助,可在光标所在区域按F1寻求帮助。