ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 165|回复: 9

[求助] 求助,指导宏运行 可以定时几分钟自动执行吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-13 13:54 | 显示全部楼层 |阅读模式
求助,指导宏运行 可以定时几分钟自动执行吗?


有无案例指导一下,谢谢。我想指定一个宏   10分钟自动运行一下

TA的精华主题

TA的得分主题

发表于 2024-9-13 14:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. Sub test()
  2. Application.OnTime Now + TimeValue("00:10:00"), "test"
  3. Debug.Print (Format(Time, "h:mm:ss"))
  4. End Sub
复制代码

每十分钟运行一次

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-14 15:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
image.jpg
麻烦问下 是这样 吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-14 15:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

Sub 查询_Click()
Application.OnTime Now + TimeValue("00:01:00"), "查询_Click()"
Debug.Print (Format(Time, "h:mm:ss"))

   
   
   
        '第三部分查询之前清空以前的数据
   
    If MsgBox("查询之前先清空原有数据") = vbOK Then
        
        Sheet1.Range("A8:M100").ClearContents
   
    End If
   
   
    '定义数据链接对象,保存连接数据库信息;请先添加ADO引用:工具-引用-MS ADO
    Dim Conn As New ADODB.Connection
    Dim RS As New ADODB.Recordset
    Dim strConn As String, StrSQL As String, strSQL1 As String, strSQL2 As String
    Dim strSQL3 As String ', strSQL4 As String, strSQL5 As String
    Dim T As Single
    Dim P1 As Range, P2 As Range, P3 As Range  ', P4 As Range, P5 As Range

   Application.StatusBar = "正在查询写入EXCEL数据,请耐心等待..."
   Set P1 = Sheet1.Range("B1")
   Set P2 = Sheet1.Range("B2")
    'Set P3 = Sheet1.Range("B3")
   'Set P4 = Sheet1.Range("B4")
   'Set P5 = Sheet1.Range("B5")
   If (P1 = "" Or P2 = "") Or (CDate(P1) > CDate(P2)) Then MsgBox "您输入的查询时间为空或" & Chr(10) & "开始时间大于结束时间": Exit Sub
   If CDate(P2) - CDate(P1) > 93 Then MsgBox "查询跨度超过93天,请重试!": Exit Sub
    T = Timer
   
    StrSQL = "SELECT * FROM BIDW_ACT_SHANGY482024"
    strSQL1 = "UPDATE SIEBEL.BI_PARAMETERXJ SET STR_VALUE = '" & P1 & "' WHERE NAME = 'BAOXIU01'"
    strSQL2 = "UPDATE SIEBEL.BI_PARAMETERXJ SET STR_VALUE = '" & P2 & "' WHERE NAME = 'BAOXIU02'"
    ' strSQL3 = "UPDATE SIEBEL.BI_PARAMETERXJ SET STR_VALUE = '" & P3 & "' WHERE NAME = 'YICIDALEI'"
   ' strSQL4 = "UPDATE SIEBEL.BI_PARAMETERXJ SET STR_VALUE = '" & P4 & "' WHERE NAME = 'CXZHUANGTAI01'"
   ' strSQL5 = "UPDATE SIEBEL.BI_PARAMETERXJ SET STR_VALUE = '" & P5 & "' WHERE NAME = 'CXFZX01'"
    strConn = "Provider=MSDAORA.1; user id=123; password=123; data source = 123; Persist Security Info=True"
      With Conn
        .Open strConn
        .Execute strSQL1
        .Execute strSQL2
       '  .Execute strSQL3
      '  .Execute strSQL4
      '  .Execute strSQL5
        Set RS = .Execute(StrSQL)
        'Rs.Open strSQL, Conn
        If RS.EOF Then
            MsgBox "没有查询到记录,程序退出"
            Set Conn = Nothing
            Set RS = Nothing
            Conn.Close
            Exit Sub
        End If
      

   
   
    Application.ScreenUpdating = False
         Sheet1.Range("A8:M100").ClearContents
         
        Sheet1.Range("A8:M8").CopyFromRecordset RS
        
    Application.ScreenUpdating = True
        RS.Close
        .Close
    End With
    Set Conn = Nothing
    Set RS = Nothing
    MsgBox ("查询完成,所用时间" & Format((Timer - T) / 60, "0.00") & "分钟")
   Application.StatusBar = ""
    Sheet1.Select
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-14 15:11 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-15 17:17 | 显示全部楼层
  1. Sub auto_run()
  2. Application.OnTime Now + TimeValue("00:10:00"), "auto_run"
  3. Call 查询_Click
  4. End Sub
复制代码

加这一段就可以了

TA的精华主题

TA的得分主题

发表于 2024-9-16 16:21 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-16 17:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
发现只有鼠标动的时候,到时间去自动运行如果电脑没有操作,这个宏 不会去自动运行,有什么好的解决办法吗?

TA的精华主题

TA的得分主题

发表于 2024-9-16 17:23 | 显示全部楼层
山海风云轩 发表于 2024-9-16 16:21
请问是需要放在thisworkbook里面吗?

你的这段 查询_Click 代码在哪里你就加到哪里就好

TA的精华主题

TA的得分主题

发表于 2024-9-16 17:36 | 显示全部楼层
aosiner123 发表于 2024-9-16 17:20
发现只有鼠标动的时候,到时间去自动运行如果电脑没有操作,这个宏 不会去自动运行,有什么好的解决办法吗 ...

对,就是打开文档后,如果让他每隔10分钟自动运行一次
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 01:24 , Processed in 0.042151 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表