我在Excel-2010和Excel-2013上工作。我想做类似下面的事情:
无论我在单元格中输入的数字是什么,该数字必须除以60,并且在按下TAB时应将结果打印在同一单元格上。如果我回到这个单元格,应该出现输入的数字,而不是计算结果。
我对Excel中的编程知之甚少。由于公司的安全政策,我无法打开大部分网站。
任何人都可以帮助我!
答案 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个部分中替换此代码。