【问题标题】:Compare cell with a previous cell in the column and update the cell with new value based on the difference将单元格与列中的前一个单元格进行比较,并根据差异用新值更新单元格
【发布时间】: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


【解决方案1】:

@Scott Craner 在 cmets 部分回答了我的问题。我使用 Sheet1 作为工作表名称,而不是工作表的实际名称。下次要小心点。

再次感谢斯科特!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多