Заданная ошибка в БОЛЬШОЙ части этой формулы? - PullRequest
0 голосов
/ 08 января 2019

У меня есть формула условного форматирования, которую я записал, но я хочу сделать ее динамичной. Я понимаю, что мне нужно добавить LastRow и все в таком духе, но я продолжаю облажаться.

это записано:

Formula1:"=CA$50452>=LARGE($CA$50452:$DO$50452,10)"

но я хочу сделать так:

Formula1:"=CA2:CA" & LastRow >= "Large(CA2:CA" & LastRow & ")", 10)

но я продолжаю получать ошибку Sub-defined в части LARGE формулы.

Есть мысли?

остаток скрипта:

Sub Top10()

Dim ws As Worksheet
Set ws = Worksheets("Sheet111")

Dim LastRow As Long
LastRow = Range("CA" & Rows.Count).End(xlUp).Row

Dim LastCol As Long
LastCol = ws.Cells(LastRow, ws.Columns.Count).End(xlToLeft).Column

ws.Range(ws.Cells(LastRow + 1, "CA"), ws.Cells(LastRow + 1, LastCol)).Formula = "=SUM(CA2:CA" & LastRow & ")"

Range("CA2").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=CA2:CA" & LastRow & ">=LARGE(CA2:CA" & LastRow & "), 10)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = -0.249946592608417
    End With
    Selection.FormatConditions(1).StopIfTrue = False

End Sub

1 Ответ

0 голосов
/ 08 января 2019
Formula1:"=CA" & LastRow + 1 & " >= Large(" & ws.Range(ws.Cells(LastRow + 1, "CA"), ws.Cells(LastRow + 1, LastCol)).Address(1,1) & ", 10)"

Также удалите строку:

Range("CA2").Select

И заменить все Selection

С:

ws.Range(ws.Cells(2, "CA"), ws.Cells(2, LastCol))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...