是否可以让excel圈出包含今天日期的单元格?

时间:2018-11-14 12:48:30

标签: excel vba excel-vba excel-formula

我有一个很大的日历电子表格,当前仅使用条件格式突出显示今天的日期。但是,我不喜欢可能使用的任何格式,因此,我希望能够有一些东西可以在单元格的顶部绘制一个带有今天日期的圆圈。

每天的布局方式是(例如)A1本身是“ dd”格式的日期,然后A2包含信息。该信息从事件数据列表中提取,因此具有公式

我已经看到一些可以通过VBA代码实现的东西,但是我不确定如何编写。

谢谢 山姆

1 个答案:

答案 0 :(得分:3)

这将在今天的日期绘制一个椭圆形的圆形。如果找不到今天的日期,则会显示错误消息:

Sub DrawOval()
    Dim cell As Range, circ As Shape

    Set cell = Sheet1.Cells.Find(Date, Sheet1.Range("A1"))

    If Not cell Is Nothing Then
        Set circ = Sheet1.Shapes.AddShape(msoShapeOval, 187.8, 37.2, 63.6, 24)
        With circ
            .Select
            Selection.ShapeRange.Fill.Visible = msoFalse
            .Top = cell.Top
            .Left = cell.Left
        End With

    Else
        MsgBox "Cell with today's date not found!", vbCritical + vbOKOnly, "Error"
    End If

End Sub

这假设您的工作表名称为Sheet1,因此请相应地进行修改。您可以通过在工作表中添加形状并将其分配给该宏来运行它。