EXCEL VBA宏,用于将样式放到范围内,然后用大写字母表示

问题描述 投票:1回答:1

我是新手,对于长久以来的疑问,我们深表歉意

所以,我有两个宏(一个记录并粘贴到个人宏中,另一个则在Google中找到

第一个,用我的选择将颜色填充为橙色,并添加了加粗的边框

带有选择项的第二个,将大写所有范围。

但是,当我将这两个宏与另一个子程序(称为子程序)一起运行时,文本没有显示出来,我需要更改单元格,然后再次选择并再次运行宏程序才能起作用。

Sub text ()
Dim rng As Range
Dim sAddr As String
Set rng = Selection

Selection.Merge    
    ActiveCell.FormulaR1C1 = _
        "=""additional due for "" & TEXT(TODAY(),""MMMM "") & ""end of month"""   
   sAddr = rng.Address

    rng = Evaluate("index(upper(" & sAddr & "),)")

    Selection.NumberFormat = "General"

End Sub

然后填充子(有点长)

Sub ORANGE()


Selection.Font.Bold = True
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 49407
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        'CAMBIO 2
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
     Selection.NumberFormat = "General"    

End Sub

我使用这两个宏的方式只是先调用ORANGE,然后再调用TEXT,因为另一种方法不起作用,当我在VBA运行宏选项中尝试它们时,它可以正常工作。

当我使用功能区中的按钮时,我需要更改单元格,再次选择它,它将起作用。我经常使用此宏,但这只是让我每次都重复。

有人知道谁同时执行两项任务而结果不是一个空的橙色单元格吗?

谢谢!

excel
1个回答
0
投票

尝试一下。阅读代码中的注释:

© www.soinside.com 2019 - 2024. All rights reserved.