抱歉,如果这篇文章已经发布,但我今天才开始使用 Excel 宏,我需要帮助。我有一个包含值的数据列,我希望如果条件满足,宏将返回 1,如果不满足,则返回 0。
我已尝试过此操作但出现了一些错误。
Private Sub CommandButton1_Click()
Dim score As Integer, result As String
score = Range("E2:E841").Value
If score >= 20 Then
result = "1"
Else
result = "0"
End If
Range("F2:F841").Value = result
End Sub
顺便问一下,可以设置某一列作为条件吗?比如
- 条件 1:列
A
必须高于 20 - 条件 2:列
B
必须回答“是”
Column A Column B Result
1 No 0
20 Yes 1
30 No 1
答案1
让我们快速分析一下代码 -
Dim score As Integer
score = Range("E2:E841").Value
类型不匹配?还是其他原因?您无法将一个整数设置为单元格范围的值。您需要一个循环 -
Private Sub CommandButton1_Click()
Dim score As Range, result As String
set score = Range("E2:E841")
For each c in score
If c >= 20 Then
result = "1"
Else
result = "0"
End If
c.offset(,1) = result
Next
End Sub