我试图找到将一行数据乘以变量的最佳方法。我有一张这样的桌子:
我有一个脚本要求我输入分析师在该时间段内工作的天数。
我接下来要发生的是另一个具有相同标题和格式的表格,上面的数据除以工作天数。 I.E.让我们说工作时间下的第一行,24:54:55除以3天工作,所以8小时后改变。
我希望这一切都在代码中,而不是excel表中的函数。
我尝试使用类似的功能:
Dim rng As Range
For Each rng In Range("G54:R54")
rng = (rng / wd1)
Next rng
但那没用。有什么想法吗?
答案 0 :(得分:1)
什么是wd1?你宣布了吗?如果不是,则为零,因此除以零误差。 否则代码很好&在我的电脑上工作。
使用显式选项来避免此类错误。
编辑:计算例如380 * 1000/60确实引发错误,因为所有这些都被假定为整数。也许它可以相关,尝试使用cdbl(rng)
答案 1 :(得分:0)
我过去曾使用过以下内容(动态范围,贴在同一位置的Sheet2):
Sub Paste_Special_Divide()
Dim LR As Long
Dim LC As Long
Dim MsgBoxy As Integer
Dim Source As Range
Dim Destination As Range
LR = Cells(Sheets("Sheet1").Rows.Count, 1).End(xlUp).Row
Set Source = Sheets("Sheet1").Range("A1:O" & LR)
Set Destination = Sheets("Sheet2").Range("A1:O" & LR)
MsgBoxy = Application.InputBox("Enter selection divisor:", Title:="Selection divisor", Default:=10, Type:=1)
Source.Copy
Destination.PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide
Application.CutCopyMode = False
End Sub
希望这有帮助!