在excel单元格中记录vaule

时间:2015-10-14 06:50:56

标签: excel-vba logging vba excel

我有一个大型excel文件,其中运行的脚本用于从不同位置收集数据。工作表中的一个单元格每10分钟生成两位数字。我想每隔10分钟在这个特定的单元格中收集这个数字,并将值记录在不同的表格或日志中(与哪种格式无关)现在我们可以只读取显示的值,但我们保留一个记录起伏起伏。

1 个答案:

答案 0 :(得分:0)

请参阅已修改的回答

当您打开工作表时,您点击了开始计时器按钮,然后当您想要它停止时按停止计时器..这将每隔1小时1秒将值从E15复制到工作表2 A1及以下。

here

拍摄并编辑

请确保您制作副本并首先尝试。

  1. 打开工作簿
  2. 进入VB编辑器(按Alt + F11)
  3. 插入新模块(插入>模块)
  4. 复制并粘贴代码

    Option Explicit
    Public dTime As Date
    
    Sub ValueStore()
    Dim dTime As Date
    Worksheets("Sheet2").Range("a" & Cells(Rows.Count).Row).End(xlUp).Offset(1, 0).Value = Range("E15").Value
    Call StartTimer
    End Sub
    
    
    Sub StartTimer()
    dTime = Now + TimeValue("01:00:01")
    Application.OnTime dTime, "ValueStore", Schedule:=True
    End Sub
    
    Sub StopTimer()
    On Error Resume Next
    Application.OnTime dTime, "ValueStore", Schedule:=False
    End Sub
    
  5. 退出VBA(按Alt + Q)

  6. 保存表单
  7. 单击“控件工具箱命令按钮”图标
  8. 在工作表上绘制一个按钮
  9. 右键单击按钮,然后选择“属性”
  10. 将标题更改为启动计时器
  11. 右键单击按钮,然后选择查看代码
  12. 在此代码中粘贴命令按钮:

    Private Sub CommandButton1_Click()
    Call StartTimer
    End Sub
    
  13. 切换回电子表格

  14. 重复步骤7-12以创建“停止计时器”按钮

    Private Sub CommandButton2_Click()
    Call StopTimer
    End Sub
    
  15. 按Alt-Q关闭VBEditor并保存工作表

  16. 尝试按钮:)