2016-02-11 4 views
4

Я пытаюсь иметь некоторый код vba, чтобы поместить значение формулы и текста в определенную ячейку. Я хочу, чтобы код говорил. Leads: (значение формулы). В настоящее время мой код запускает формулу и помещает значение в правильное поле. Я просто не знаю, как добавить текст с ним. Код, который у меня есть, написан ниже.Формула VBA и текст в определенной ячейке

ws.Range("$B$1").Formula = "=COUNTIF(E:E,""Lead"")" 

ответ

5

Обычай Range.NumberFormat property даст вам отображаемый результат, оставляя фактическое необработанное значение в числовой форме для возможных дальнейших вычислений или сравнения.

with ws 
    with .range("B1") '<~~ no need for absolute $ anchors here 
     .formula = "=COUNTIF(E:E,""Lead"")" 
     .numberformat = "[=1]L\e\a\d\: 0;L\e\a\d\s\: 0" 
    end with 
end with 
+0

Что делает этот формат чисел? Я попробовал установить ячейку («Lead») с этим, и ничего не происходит. – BruceWayne

+2

@BruceWayne - В маске формата номера может быть до четырех частей (см. [This] (https://support.office.com/en-us/article/Number-format-codes-5026BBD6-04BC-48CD-BF33 -80F18B4EAE68)). Обратные косые черты являются escape-символами, так что ** d ** не пытается стать ** днем ​​** и т. Д. ** 0 ** - это то, что отображает номер. – Jeeped

4

Попробуйте это:

ws.Range("$B$1").Formula = "=""Leads:("" & COUNTIF(E:E,""Lead"")&"")""" 

так, что она заканчивается, как следующее при применении:

="Leads:(" & COUNTIF(E:E,"Lead")&")" 
+0

Работал отлично! Большое спасибо :) –

Смежные вопросы