因此,我是VBA的新手,我想通过将每小时的费率乘以一小时将员工的小时数转换为美元,反之亦然。但是我不确定如何处理小时费率的变化。所以目前我的代码如下:
Sub dollarHour()
Dim hrs As Range
Set hrs = Range("D3:N33")
For Each cell In hrs
If cell.NumberFormat = "0.00" Then
cell.Value = cell * Range("P37")
cell.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
Else
cell.Value = cell / Range("P37")
cell.NumberFormat = "0.00"
End If
Next
End Sub
因此,基本上我的问题是可以更改“ P37”(美元乘数),但是它不会影响单元格,直到我再次运行宏以更改原始员工的工作时间(这是我不希望的) )。因此,例如,如果我将“ P37”从25美元更改为26美元,我希望以小时为单位的单元格能够反映出这种变化。任何帮助将不胜感激。
答案 0 :(得分:1)
使用Worksheet_Change
事件。每当$ P $ 37更改时,该宏就会运行。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$P$37" Then
dollarhour
End If
End Sub