【问题标题】:Excel If a value in cell a2>8 automatically move to cell D2 to enter textExcel 如果单元格 a2>8 中的值自动移动到单元格 D2 输入文本
【发布时间】:2013-07-27 19:13:37
【问题描述】:

我正在尝试使用电子表格来记录工作时间,这样如果单元格 A2 中的总小时数超过 8 小时,则光标会自动移动到第二个选项卡上的单元格 D2,这是一个原因可以输入加班费。

  • 标签一称为 2013
  • 标签二称为2013加班。

我不太擅长 excel,因此非常感谢任何帮助。谢谢!

【问题讨论】:

    标签: excel vba excel-2007


    【解决方案1】:

    您没有提供太多信息。哪些细胞发生变化并有助于 A2?是否有类似的列需要选择不同的单元格?请编辑您的问题并添加有关数据结构的更多详细信息。

    以下宏假设单元格 A2 被手动更改。

    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim shOvertime As Worksheet
    Set shOvertime = ThisWorkbook.Sheets("2013 Overtime")
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        If Range("A2") > 8 Then
            shOvertime.Activate
            shOvertime.Range("D2").Select
        End If
    End If
    End Sub
    

    如果你的数据结构不同,请解释一下。

    要使代码正常工作,请右键单击工作表选项卡并选择“查看代码”以打开 Visual Basic 编辑器 (VBE)。将代码粘贴到代码窗口并关闭 VBE。然后在 A2 单元格中输入数字。

    【讨论】:

    • 到目前为止,表格设置如下:单元格 a2 列出日期单元格 a2 是每天工作的总小时数(a2 将由个别员工输入) a3 是开始时间,a4 是结束时间。开始和结束时间不会被修改
    • 抱歉输入有点快。
    • 到目前为止,工作表设置如下:单元格 a1 列出日期单元格 a2 是每天工作的总小时数(a2 将由每个人输入) a3 是开始时间,a4 是结束时间。开始和结束时间不会被编辑,它们是设定的时间。例如,如果我从 6:30 到 14:30 工作总共 8 小时,我希望能够在单元格 a2 中输入 8 而不会发生任何事情,但是如果我从 06:30 到 15:30 工作并且我输入 9,我会自动转到同一日期的 2013 年加班标签,这样我就可以输入时间加班的原因。
    • 表格是否只有一行数据输入?单元格 A2 是用户输入工作时间的唯一单元格吗?我想一个时间表将不止一行。加班表有什么关系?您想要逐行关系还是只想要一个连续的加班列表?来,描述一下图片。不要让人们不得不将信息从您身上拖走。然后,请编辑问题并将完整信息放在那里。考虑张贴输入和加班表的屏幕截图。如果您没有足够的代表来包含图片,请使用网络服务。
    猜你喜欢
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 2021-10-18
    • 2010-12-07
    • 2022-06-23
    相关资源
    最近更新 更多