Ввод функции CountIfs в цикл

Я пытался создать сценарий, который сначала удалит все ненужные строки, а затем вставит функцию COUNTIFS прямо справа. Я проверил все ошибки и знаю, что проблема в формуле COUNTIFS, особенно когда я пытаюсь сослаться на текущую строку. "" = "" & .Cells(lrow, 1).Value

Любая помощь приветствуется.

    Private Sub CommandButton1_Click()
        With ActiveSheet.Range("B6:B1217")
         For lrow = .Rows.Count To 1 Step -1
             If .Cells(lrow, 1).Value = "0" Then
                .Rows(lrow).Delete
             Else
                 .Cells(lrow, 2).Value = Evaluate("CountIfs(Sheets("Jan").Range("A:A"), "" = "" & .Cells(lrow, 1).Value, Sheets("Jan").Range("F:F"), ">" & "0")")
            End If
         Next lrow
        End With

При использовании Evaluate вам необходимо передать ему строку, которая будет действительной формулой рабочего листа: вы не можете использовать ее для оценки VBA.

Tim Williams 07.12.2018 20:06

@Tim Как правильно записать этот файл? Я просто пытаюсь понять, как использовать переменную, чтобы она генерировалась для каждой строки.

El Asado 07.12.2018 20:25
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
2
43
1

Ответы 1

Что-то вроде этого:

Dim f
'one of these two...
f = "=COUNTIFS(A:A," & .Cells(lrow, 1).Value & ", F:F, "">0"")"
f = "=COUNTIFS(A:A,""" & .Cells(lrow, 1).Value & """, F:F, "">0"")"  

.Cells(lrow, 2).Value = Sheets("Jan").Evaluate(f)

Нужны ли вам кавычки вокруг вставленного значения в формуле, зависит от того, является ли значение числовым или нет.

Другие вопросы по теме