VBA найти номер с десятичным числом между двумя числами - PullRequest
0 голосов
/ 25 февраля 2019

На скриншоте вы можете увидеть некоторую часть моей таблицы.

enter image description here

В столбцах A: DI вводится некоторое значение, значение в столбце B ищется в строке 1, а значение из C: D - в поискев строке 2. После этого он окрашивает ячейки в красный цвет, находящийся в заданном диапазоне.

Примеры "Test" и "Test2" работают нормально.Но пример 3. и 4. не работает с моим кодом, потому что указанные числа не находятся в диапазоне ("E2: AM2").

Мой вопрос сейчас, как я могу найти Start- иEndtemp, если есть такие числа, как 5,15,25,152,87, ...

Вот мой код:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ws As Worksheet
    Dim a As Long
    Dim turnCol As Range

    Set ws = ThisWorkbook.Worksheets(1)
    With ws
        If Not Application.Intersect(Range("D:D"), Range(Target.Address)) Is Nothing Then
            a = ActiveCell.Row

            Turns = "Turn " & .Cells(a, 2).Value
            StartTemp = Int(CDec(.Cells(a, 3).Value))
            EndTemp = Int(CDec(.Cells(a, 4).Value))

            Set turnCol = .Range("1:1").Find(What:=Turns)
            Set startCol = .Range(.Cells(2, turnCol.Column), .Cells(2, turnCol.Column + 35)).Find(What:=StartTemp)
            Set endCol = .Range(.Cells(2, turnCol.Column), .Cells(2, turnCol.Column + 35)).Find(What:=EndTemp)

            .Range(.Cells(a, startCol.Column), .Cells(a, endCol.Column)).Interior.Color = RGB(255, 0, 0)
        End If
    End With
End Sub

1 Ответ

0 голосов
/ 25 февраля 2019

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

В этом конкретном случае макросы действительно не нужны: вы можете решить свою проблему, используя условное форматирование:

  • Условное форматирование
    • Правила выделения
    • Между:
      • = $ C $ 2
      • = $ D $ 2
      • Пользовательский формат (заполнить красным цветом)

Удачи

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