ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] VB是单线程工作,现在有一个数据自动一定时间增加,加一个滚动字幕,但只能执行一个

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-1 11:59 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
EXCEL里面的VB是单线程工作,现在有一个数据,自动在一定时间内增加,另一个是滚动字幕,但现在只能执行一个,想要全部都执行怎么办?

如果执行了start,则滚动自幕就会停,反之,执行了滚动字幕,则start就会停,麻烦高人解决谢谢!
内容如下,文件在附件里,能在附件改好发我最好,QQ:597411084

自动在一定时间内增加设定的数据:


Sub start()

    Dim startTime As Double
    Dim currentTime As Double
    Dim interval As Double
   
    startTime = Timer
    interval = 3.564

    While Range("C19").Value <> 2500
        currentTime = Timer - startTime
        
        If currentTime >= interval Then
            Range("C19").Value = Range("C19").Value + 1
            startTime = startTime + interval
        End If
        
        DoEvents
    Wend

End Sub


滚动自幕如下:

Dim b As Boolean
Sub 按钮1_Click()
    b = True
    str1 = "忙季现场管理目标:全员齐努力,用心践行,现场干净整洁,有条不紊,尽善尽美 。  "
l1:
    If b Then
        [b23] = str1
        For j = 1 To 10000
            DoEvents
        Next j
        str1 = Mid(str1, 2) & Left(str1, 1)
        GoTo l1
    End If
End Sub
Sub 按钮2_Click()
    b = False
End Sub


TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-2 11:20 | 显示全部楼层
ww87725244 发表于 2024-9-1 16:13
VBA使用多线程很麻烦,需要调用API函数
你可以看看这里
https://club.excelhome.net/thread-279965-2-1.h ...

为什么下面这两个可以同时执行,只是下面的start的参数不太精确,我想要精确到小数点后面1-2位

这个与之前发的代码,数据精确度不一样,只能是整数
Sub start()

    If Range("C19") = 2500 Then
        End
    Else
        Range("C19") = Range("C19") + 1
        Application.OnTime Now() + TimeValue("00:00:03"), procedure:="start"
    End If
End Sub

这个与前面发的一样
Dim b As Boolean
Sub 按钮1_Click()
    b = True
    str1 = "忙季现场管理目标:全员齐努力,用心践行,现场干净整洁,有条不紊,尽善尽美 。  "
l1:
    If b Then
        [b23] = str1
        For j = 1 To 10000
            DoEvents
        Next j
        str1 = Mid(str1, 2) & Left(str1, 1)
        GoTo l1
    End If
End Sub
Sub 按钮2_Click()
    b = False
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-2 11:22 | 显示全部楼层
ww87725244 发表于 2024-9-1 16:13
VBA使用多线程很麻烦,需要调用API函数
你可以看看这里
https://club.excelhome.net/thread-279965-2-1.h ...

我不太懂这些,但急用这些,麻烦帮忙看看谢谢!

TA的精华主题

TA的得分主题

发表于 2024-9-2 13:13 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-9-2 14:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Private Declare Function SetTimer Lib "user32" (ByVal iHwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerProc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal iHwnd As Long, ByVal nIDEvent As Long) As Long

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-2 15:38 | 显示全部楼层
darklesson 发表于 2024-9-2 13:13
附件都没一个。做个例子来看看,你想干什么

这里面有两个宏,执行其中一个,另一个就停了,怎么样才能两都要执行,附件附上,感谢!

2024.07.10电子看板-横屏-字幕.zip

89 KB, 下载次数: 5

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-2 15:41 | 显示全部楼层
杨克敏 发表于 2024-9-2 15:38
这里面有两个宏,执行其中一个,另一个就停了,怎么样才能两都要执行,附件附上,感谢!

这个时间可以精确到小数点后两位数

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-2 15:48 | 显示全部楼层
darklesson 发表于 2024-9-2 13:13
附件都没一个。做个例子来看看,你想干什么

再回复一下

前面回复的哪个,两个宏不能同时执行,想解决第一个附件中的问题,因里面的代码可以精确时间到小数点后面两位数,如:3.56秒,这是我想要解决的。

现在再附一个附件,这里面同样有两个宏,为什么可以同时执行,但这里的代码,时间只能是整数 如:00:00:03,还有0.56体现不出来,所以这个不能用

麻烦高手回复一下,我不太懂这些,谢谢了!

2024.09.2电子看板-横屏-字幕.rar

88.99 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2024-9-2 17:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
杨克敏 发表于 2024-9-2 15:48
再回复一下

前面回复的哪个,两个宏不能同时执行,想解决第一个附件中的问题,因里面的代码可以精确时 ...

我以前写的事件管理器模块,通用的,套进去就可以用。模拟的windows事件管理器。

事件管理器.rar

27.19 KB, 下载次数: 8

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-21 18:37 , Processed in 0.049963 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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