【发布时间】:2018-07-01 14:25:01
【问题描述】:
我是编码新手,并且已经编写了一些代码来在表格中进行一些计算并填写列。我让它为表中的第一行工作,但我在弄清楚如何循环它以完成表中每一行的计算时遇到了一些麻烦。任何帮助和建议将不胜感激!
更新:
感谢您的帮助!该代码非常适合此处提供的第一部分,我尝试将其应用于其他 2 部分,但出现错误。我认为是因为我试图使用字符串作为输入?我试过不带引号,但它返回的只是“#NAME?”。
Sub CommandButton1_Click()
Dim tbl As ListObject
Set tbl = ThisWorkbook.Sheets("Data").ListObjects("Table1")
Dim formulaText As String
formulaText =
"=IF([@Reach]>=100000,5,IF([@Reach]>=50000,3,IF([@Reach]>=10000,2,1)))"
tbl.ListColumns("Media Significance").DataBodyRange.Formula = formulaText
Dim formulaText1 As String
formulaText1 = "=IF([@Headline Mentions]>="Yes",5,IF([@Exclusive
Mentions]>="Yes",3,1))"
tbl.ListColumns("Prominence Score").DataBodyRange.Formula = formulaText1
Dim formulaText2 As String
formulaText2 = "=IF([@Sentiment]>="Very Positive",2,IF([@Sentiment]>="Very
Negative",2,1))"
tbl.ListColumns("Very Positive/ Very Negative").DataBodyRange.Formula =
formulaText2
End Sub
【问题讨论】:
-
使用
F8逐步完成此操作,您将能够逐行跟进。这应该可以帮助您了解逻辑在哪里没有按照您的预期进行,并从那里进行调整。请注意,当您在线时,您可以将鼠标悬停在一个变量上,它会有一个漂亮的小工具提示类型的东西,显示该变量当前是什么。 -
你有一个好的开始。以下是一些循环帮助:[excel-easy.com/vba/loop.html] 尝试一下,让我们知道它是如何工作的。
-
通常,您会为重要列选择起始行和终止行,并使用该系列行号来访问其他列中的单元格。是否有一列的值比其他列更重要,或者任何列的值与上述相比是否可以作为下限?
标签: excel vba loops if-statement