【发布时间】:2016-04-13 23:28:20
【问题描述】:
Sub Update_cell()
Dim counter As Integer
For counter = 7 To 606
If Worksheets("Sheet1").Cells(counter + 1, 4).Value > (Worksheets("Sheet1").Cells(counter, 4).Value + Worksheets("Sheet1").Cells(1, 1).Value) Then
Worksheets("Sheet1").Cells(counter, 4).Value = (Worksheets("Sheet1").Cells(counter, 4).Value + Worksheets("Sheet1").Cells(1, 1).Value)
Worksheets("Sheet1").Cells(counter + 1, 4).Value = Worksheets("Sheet1").Cells(counter + 1, 4).Value - 1 * (Worksheets("Sheet1").Cells(counter + 1, 4).Value - Worksheets("Sheet1").Cells(counter, 4).Value)
Worksheets("Sheet1").Cells(counter, 13).Value = -1 * (Worksheets("Sheet1").Cells(counter + 1, 4).Value - Worksheets("Sheet1").Cells(counter, 4).Value)
End If
If Worksheets("Sheet1").Cells(counter + 1, 4).Value < (Worksheets("Sheet1").Cells(counter, 4).Value - Worksheets("Sheet1").Cells(1, 1).Value) Then
Worksheets("Sheet1").Cells(counter, 4).Value = (Worksheets("Sheet1").Cells(counter, 4).Value - Worksheets("Sheet1").Cells(1, 1).Value)
Worksheets("Sheet1").Cells(counter + 1, 4).Value = Worksheets("Sheet1").Cells(counter + 1, 4).Value - 1 * (Worksheets("Sheet1").Cells(counter + 1, 4).Value - Worksheets("Sheet1").Cells(counter, 4).Value)
Worksheets("Sheet1").Cells(counter, 13).Value = -1 * (Worksheets("Sheet1").Cells(counter + 1, 4).Value - Worksheets("Sheet1").Cells(counter, 4).Value)
End If
If Worksheets("Sheet1").Cells(counter + 1, 4).Value <= (Worksheets("Sheet1").Cells(counter, 4).Value + Worksheets("Sheet1").Cells(1, 1).Value) And Worksheets("Sheet1").Cells(counter + 1, 4).Value >= (Worksheets("Sheet1").Cells(counter, 4).Value - Worksheets("Sheet1").Cells(1, 1).Value) Then
Worksheets("Sheet1").Cells(counter, 4).Value = Worksheets("Sheet1").Cells(counter + 1, 4).Value
End If
Next counter
End Sub
上面是我的代码,我用它来根据与前一个单元格的距离来更新一个单元格。一开始,我收到一条错误消息“指定的维度对当前图表类型无效”。我删除了已经存在的图表,现在我收到错误消息“下标超出范围,运行时错误 9”。当我尝试调试时,它会突出显示第一个 If 语句。
非常感谢任何帮助。非常感谢!
【问题讨论】:
-
通常这意味着 Sheet1 不存在。是不是有别的名字?
-
@ScottCraner 我会发布作为答案伙伴,绝对看起来是根本原因
-
非常感谢@ScottCraner。你的回答很有帮助。我不知道为什么我错过了这么一个小细节。我应该更加小心经验。我是 VBA 编程新手。
标签: excel vba if-statement macros