自动标记标题的代码

时间:2017-01-30 17:00:51

标签: excel excel-vba vba

如何让标题“underproject”变暗以自动变暗?我可以自己做,但希望它能自动发生在所有标题上。

Before & After

Range("A6:L6,A7:D7").Select
With Selection.Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorLight1
    .TintAndShade = 0.249977111117893
    .PatternTintAndShade = 0
End With
With Selection.Font
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = 0
End With
With Selection
    .HorizontalAlignment = xlGeneral
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = True
End With

1 个答案:

答案 0 :(得分:0)

您可以使用条件格式执行此操作。选择整个表列A到列G并添加新的条件格式化规则,然后选择底部选项以输入公式。 enter = left($ A1,4)=" Unde"单击格式按钮,然后选择所需的格式。

选择列A到C并创建另一个条件格式设置规则并选择公式。输入=左($ A1,4)="导航"并设置所需的格式。

这不会合并单元格,但在我看来,最好不要保持单元格未合并,因为它允许您根据需要对数据进行排序和过滤。

可以使用宏,但你必须遍历A列中的所有单元格,寻找" Navn"和" Underproject"并使用if语句来设置格式。

根据标题删除行的代码

我无法从您的评论中了解您要删除的内容,但可以更改标准以满足您的要求。

重要提示:请确保在运行此宏之前制作数据的备份副本,因为无法撤消宏所做的更改。

Sub DeleteEx()

Dim intRow As Integer
Dim strContinue As String
Dim bolDelete As Boolean 'true or false

intRow = 2
strContinue = Cells(intRow, 1) ' the value in A2
bolDelete = False

Do While strContinue <> "" ' this loop will continue down each row as long as there is a value in column A

    If Left(strContinue, 5) = "Under" Or Left(strContinue, 5) = "Navn:" Then 'change this to match your criteria
        'delete the current row
        Rows(intRow & ":" & intRow).Delete Shift:=xlUp
        intRow = intRow - 1 ' because we deleted a row
    End If

    intRow = intRow + 1
    strContinue = Cells(intRow, 1)
Loop

End Sub