首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vba中使用“大if”

在vba中使用“大if”
EN

Stack Overflow用户
提问于 2015-08-24 07:05:35
回答 2查看 1.4K关注 0票数 0

我正在制作一个电子表格,其中我有公司按季度计算的销售数据。还有扇区。我的数据按以下格式排列:

第1行有日期

数据从第2行开始

列B:公司名称

列C:公司的扇区名称。为了前夫。能源、材料、技术等

栏D:公司的销售数字。

列E,F,G:价格,股票,公司成交量。

柱H:坯料

从下一栏开始,我有相同的下一季度数据字段。

列I:公司名称

列J:公司的扇区名称。为了前夫。能源、材料、技术等

列K: co的销售数字

就这样等等

现在,在另一个工作表中,我需要在每个扇区中获得前3/5/10/15等(根据用户输入而定)的名称和销售数据。为了前夫。销售数字和公司能源行业前三大公司的名称。我一直试图为此编写一个vba代码,但我正在挣扎。我在下面提到了我正在尝试的代码,但是它一点也不灵活,因为在我的代码中,我提到了列C和D,它们实际上在每个季度之后都会发生变化。

代码语言:javascript
复制
Sub try()

Dim r As Long
n = Range("topcos").Value + 5

For r = 5 To n
    p = 1
    Worksheets("Top co. share with co name").Activate
    Cells(r, 16).Select
    Selection.FormulaArray = "=LARGE(IF('Co Wise'!$C$3:$C$600=P$3,'Co Wise'!$D$3:$D$600,""""),p)"
    p = p + 1
Next r

End Sub
EN

回答 2

Stack Overflow用户

发布于 2015-08-24 10:17:13

似乎你只是忘记了p是一个变量,应该在公式中这样处理:

代码语言:javascript
复制
Selection.FormulaArray = "=LARGE(IF('Co Wise'!$C$3:$C$600=P$3,'Co Wise'!$D$3:$D$600,"""")," & p & ")"
票数 0
EN

Stack Overflow用户

发布于 2015-08-24 10:26:23

另一种选择是:

代码语言:javascript
复制
Sub SO()

Sheets("Top co. share with co name").Range("P5:P" & [topcos] + 5).FormulaArray = _
"=LARGE(IF('Co Wise'!$C$3:$C$600=P$3,'Co Wise'!$D$3:$D$600,""""),ROW()-4)"

End Sub

在不需要循环和变量的情况下做同样的事情。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32176251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档