Возможно ли иметь Excel круг вокруг ячейки, которая содержит сегодняшнюю дату? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть большая календарная таблица, которая в настоящее время просто отображает сегодняшнюю дату с условным форматированием.Тем не менее, мне не нравится ни один из форматов, которые я мог бы применить, и поэтому я хотел бы иметь возможность иметь что-то, благодаря чему на верхней части ячейки будет нарисован круг с сегодняшней датой.

Способ каждогодень определяется так, что (например) A1 - это сама дата в формате "dd", а затем в A2 есть информация. Информация извлекается из списка данных событий, поэтому она имеет формулу в.

Я видел кое-что, что возможно с помощью кода VBA, но я просто не уверен, как это написать.

Спасибо, Сэм

1 Ответ

0 голосов
/ 14 ноября 2018

Это нарисует овальную круглую сегодняшнюю дату. Если сегодняшняя дата не найдена, появится сообщение об ошибке:

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, поэтому измените его соответствующим образом. Вы можете выполнить это, добавив фигуру к рабочему листу и присвоив ей этот макрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...