Моя таблица отслеживает цены в CoinMarketCap и динамически обновляет каждую минуту мое текущее портфолио. Идея состоит в том, чтобы изменить цвет конкретной ячейки, если значение ниже, больше или равно предыдущему состоянию: равно = желтый, больше = зеленый и ниже = красный. С учетом правил Excel по условному форматированию это невозможно. Кто-нибудь может помочь? Любой существующий код VBA доступен? или примеры

Заранее благодарю за помощь :-) Excel 2016 Jacqu

1 ответ1

0

В окне редактора VB дважды щелкните по листу, где вы получаете обновления рынка монет, и вставьте этот скрипт VB.

Я предполагаю, что в столбце А вы получаете обновления. Замените имя столбца в строке 6 на другое, если оно отличается.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim newVal As Variant

    If Target.Count > 1 Then
        Exit Sub
    End If

    If Intersect(Range("A:A"), Target) Is Nothing Then
        Exit Sub
    End If

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    newVal = Target.Value

    Application.Undo

    Target.Offset(0, 1).Value = Target.Value

    Target.Value = newVal

    Application.ScreenUpdating = True
    Application.EnableEvents = True
End Sub

Обратите внимание, как только Excel обновит значения в столбце A, вы получите предыдущие значения в соседнем столбце.

Пожалуйста, сделай это,

  • Выберите либо весь столбец A, либо требуемые строки.
  • Нажмите команду условного форматирования.
  • Затем нажмите «Выделить правила ячеек».

Затем после форматирования по одному для ** равно, больше чем и меньше условий.

Помните, что пока Формат только выберите ячейку B2 для сравнения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .