VBA Excel 2013 - ошибка заполнения при использовании активного листа - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь использовать макрос для поиска определенных терминов и подсчета количества вхождений этого термина в этом столбце. Я использую этот макрос, копируя и вставляя кнопку макроса в свой активный лист, так как имя рабочего листа, к которому я буду его применять, всегда будет отличаться / изменяться (каждый лист назван на месяц года, поэтому он будет меняется каждый раз, когда у меня есть данные нового месяца). Длина столбца также является переменной с каждым месяцем. Раньше это работало без проблем, но недавно я начал получать сообщение об ошибке, определяемой приложением 1004 или объектом, в строке, которая гласит:

.Range("P7:R7").Formula = strFormulas

Мои формулы слишком длинные? Любая помощь будет принята с благодарностью. Вот весь код, который я использую для этого раздела:

With ActiveSheet.Columns("P:T")
.ColumnWidth = 10
End With

Range("P6").Value = "DeptShortName"
Range("Q6").Value = "IfCAN"
Range("R6").Value = "Business Unit Name"
Range("S6").Value = "Business Unit"

Dim lastRow As Long

'Set formulas to appear in columns 1, 2, 3 after column O
Dim strFormulas(1 To 3) As Variant

'Set last row to fill for columns P-R based on variable length of column O
lastRow = Range("O" & Rows.Count).End(xlUp).Row

'Auto fill formulas defined below to columns 1,2, 3 after column O, so columns P, Q, R
    With ActiveSheet
        strFormulas(1) = "=IF(ISNUMBER(SEARCH(""CCS"",O7)),""CCS"",IF(ISNUMBER(SEARCH(""DSO"",O7)),""DSO"",IF(ISNUMBER(SEARCH(""ALC"",O7)),""ALC"",IF(ISNUMBER(SEARCH(""RCD"",O7)),""RCD"",IF(ISNUMBER(SEARCH(""CMNA"",O7)),""CMNA"",IF(ISNUMBER(SEARCH(""CRNA"",O7)),""CRNA"",IF(ISNUMBER(SEARCH(""CCSCAN"",O7)),""CCSCAN"",IF(ISNUMBER(SEARCH(""CARLYLE"",O7)),""CARLYLE"",IF(ISNUMBER(SEARCH(""CRS"",O7)),""CRS"",IF(ISNUMBER(SEARCH(""ICP"",O7)),""ICP"",IF(ISNUMBER(SEARCH(""MISCELLANEOUS"",O7)),""MISC"",IF(ISNUMBER(SEARCH(""NAO"",O7)),""NAO DIST"",IF(ISNUMBER(SEARCH(""NATIONAL"",O7)),""NATIONAL"",""""))))))))))))"
        strFormulas(2) = "=IF(ISNUMBER(SEARCH(""CCSCAN"",O7)),""CAN"",IF(ISNUMBER(SEARCH(""ALC 0211"",O7)),""CAN"",IF(ISNUMBER(SEARCH(""ALC 0218"",O7)),""CAN"",IF(ISNUMBER(SEARCH(""ALC 0251"",O7)),""CAN"",""""))))"
        strFormulas(3) = "=CONCATENATE(P7,Q7)"
        .Range("P7:R7").Formula = strFormulas
        .Range("P7:R" & lastRow).FillDown
    End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...