首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Excel单元格中离开单元格时进行计算

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

Stack Overflow用户
提问于 2017-09-19 08:21:19
回答 1查看 90关注 0票数 2

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

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

我对用Excel编程不太了解。由于公司的安全政策,我无法打开大部分的网站。

有人能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-19 08:30:06

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

代码语言:javascript
复制
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的所有三个部分中替换了此代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46295400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档