我在Excel-2010和Excel-2013上工作。我想做的事情如下:
无论我在单元格中输入的数字是什么,该数字必须被划分为60,结果应该在按TAB时打印在同一单元格上。如果我回到这个单元格,输入的数字应该出现,而不是计算的结果。
我对用Excel编程不太了解。由于公司的安全政策,我无法打开大部分的网站。
有人能帮帮我吗?
发布于 2017-09-19 08:30:06
请用这段代码。您应该将此代码粘贴到您的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。确保您在subs的所有三个部分中替换了此代码。
https://stackoverflow.com/questions/46295400
复制相似问题