1

我正在尝试在单元格中编写此函数:

=CONCATENATE("Blah",ROUND(COUNTA(I26:I34)/COUNTA(I4:I24,I26:I34)*100,0),"%")

这就是我现在所拥有的(我把它们放在不同的行中,这样更容易阅读):

DestBook.Worksheets("Sheet1").Range("I2").Value = 
DestBook.Application.WorksheetFunction.Concatenate("Blah ", 
WorksheetFunction.Round(WorksheetFunction.CountA("I4:I24") / 
WorksheetFunction.CountA("I4:I24", "I26:I24") * 100, 0), "%")

它似乎不喜欢它,因为它给出了这个错误:对象不支持这个属性或方法

我不确定是我设置的值不正确还是我的公式被错误地翻译了。任何人都可以看看它,看看它有什么问题吗?谢谢!

4

1 回答 1

3

试试这个:

Dim r1 As Range, r2 as Range, r3 as Range
Set r1 = DestBook.Worksheets("Sheet1").Range("I4:I24")
Set r2 = DestBook.Worksheets("Sheet1").Range("I26:I34")
Set r3 = DestBook.Worksheets("Sheet1").Range("I2")

Dim S1 as Double, S2 as Double
S1 = WorksheetFunction.CountA(r1)
S2 = WorksheetFunction.CountA(r1, r2)

r3.Value = "Blah " & Format(S1 / S2 * 100, "0") & "%"

我测试了它并且它有效。

于 2013-02-12T22:32:02.430 回答