如何在离开单元格时在Excel单元格中进行计算

时间:2017-09-19 08:21:20

标签: excel

我在Excel-2010和Excel-2013上工作。我想做类似下面的事情:

无论我在单元格中输入的数字是什么,该数字必须除以60,并且在按下TAB时应将结果打印在同一单元格上。如果我回到这个单元格,应该出现输入的数字,而不是计算结果。

我对Excel中的编程知之甚少。由于公司的安全政策,我无法打开大部分网站。

任何人都可以帮助我!

1 个答案:

答案 0 :(得分:1)

请使用此代码。您应该将此代码粘贴到Worksheet module,而不是Regular module。然后请将Range("A1:A100")调整为应分割的数字范围。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim DivRg As Range
Set DivRg = Range("A1:A100")
Set DivRg = Application.Intersect(Target, DivRg)

If DivRg Is Nothing Or Target.Cells.Count > 1 Then Exit Sub

Application.EnableEvents = False
Target = Target / 60
Target.Offset(0, 5).Value = 1
Application.EnableEvents = True

Set DivRg = Nothing

End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DivRg As Range

Set DivRg = Range("A1:A100")
Set DivRg = Application.Intersect(Target, DivRg)

If DivRg Is Nothing Or Target.Cells.Count > 1 Then Exit Sub

Application.EnableEvents = False
If Target.Offset(0, 5).Value = 1 Then
Target = Target * 60
Target.Offset(0, 5).Value = 0
End If
Application.EnableEvents = True

Set DivRg = Nothing
End Sub

要完成任务,您需要一个帮助列(我选择了列F),但您可以选择任何列并更改此部分代码以处理该列Target.Offset(0, 5).Value。例如,如果您希望帮助列为列E,请使用此代码Target.Offset(0, 4).Value。确保在潜艇的所有3个部分中替换此代码。