vba - VBA 添加相邻单元格
问题描述
我们公司有一个电子表格来跟踪工作时间。它有一列显示每周在给定项目上花费的小时数和该项目的总小时数。每个项目都有一行。每个星期一我都会手动将上周的小时数添加到总小时数列中。我想自动化这个。我正在尝试遍历 J 列,如果 J 中有一个数字,则将其添加到 K。然后清除单元格 J(我尚未将此部分添加到下面的代码中)。J 可以为空白,或具有非数字值,应跳过这些值。J 永远不会超过 J500。
这是我的代码,它似乎只是在“Megan in Progress”中循环当前选定的行 500 次,而不是从 J1 移动到 J500。有人可以帮我指出我做错了什么吗?谢谢你。
Sub UpdateTotals()
Sheets("Megan In Progress").Activate
For Each cell In Sheets("Megan In Progress").Range("J1:J500")
Dim weekVal As Double
If IsNumeric(cell) = True Then
weekVal = cell.Value
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ActiveCell.Value + weekVal
ActiveCell.Offset(0, -1).Select
End If
Next
End Sub
宏之前
宏之后
解决方案
试试这个:
For Each cell In Range("K2:K500")
'Adds the adjacent cell in column J to the current cell value
cell.Value = cell + cell.Offset(, -1)
'Clears the weekly values form column J
cell.Offset(, -1).Clear
'Clear 0s in column K
If cell.Value = 0 Then cell.Clear
Next
推荐阅读
- javascript - 如何将文件放入 Firebase 存储?- 反应
- php - 当我在 PHP 中使用路由器时,为什么不加载 CSS 和 JavaScript?
- r - spacy_initialize 的问题:py_run_file_impl(文件,本地,转换)中的错误:ModuleNotFoundError:没有名为“spacy”的模块
- solidity - 在 truffle 编译时,我得到: FATAL ERROR: NewNativeModule Allocation failed - process out of memory?
- rust - 从请求中获取令牌时,生命周期与特征中的方法不匹配
- webstorm - 如何在 WebStorm 项目窗口中关闭文件大小和日期?
- linux - 如何将输入通过管道传输到 SLURM 的批次?
- azure-cosmosdb - 带有嵌套数组的 Cosmos DB 查询文档
- reactjs - 在循环中使用钩子的替代方法是什么?
- c# - SecurityProtocol 例如 Tls、Tls11、Tls12、Ssl3 不工作