在Excel中如何用VBA代码实现秒的实时动态更新?

在Excel中如何用VBA代码实现秒的实时动态更新?,第1张

在A1输入\x0d\x0a=NOW()\x0d\x0a设置单元格格式,定义为你要的格式。\x0d\x0a\x0d\x0a同时按Alt和F11进入宏界面,双击左上窗口的ThisWorkbook,在右边输入\x0d\x0aPrivate Sub Workbook_Open()\x0d\x0aabc\x0d\x0aEnd Sub\x0d\x0a\x0d\x0a再点菜单的插入,模块,粘贴如下代码:\x0d\x0aSub abc()\x0d\x0aApplication.OnTime Now + 1 / 24 / 3600, "abc"\x0d\x0aSheets("Sheet1").Range("A1").Calculate\x0d\x0aEnd Sub\x0d\x0a\x0d\x0a存盘退出(如果是2007版以上得另存为可以启动宏的工作簿),再打开就可以了。

1、这个问题相对比较专业。建议再去知乎看看

2、另外咨询下淘宝看看卖VBA程序的人都给出什么方案

3、以下代码转载自网络:

Dim http

Set http = CreateObject("Microsoft.XMLHTTP")

http.Open "POST", "连接地址", False

http.send ""

If http.Status = 200 Then

selection.text=http.responseText

End If

二是开启IE进程

Sub test()

Set ie = CreateObject("InternetExplorer.Application") '设置变量

With ie '设置块

.Navigate ("需要打开的网页的网址") '打开网页

.Visible = True '是否显示ie窗口

While .readystate <>4 '延迟等待页面加载完毕

DoEvents

Wend

For i = 22 To 49 Step 3 '取数循环

S = S &" " &.Document.all.tags("td")(i).innerTEXT '取数据到变量,熟悉HTML的DOM可以修改这个实现各种内容

Next i

End With '块结束

S = LTrim(S) '删除左边空格

Application.SendKeys "^{F4}" '发送按键关闭当前浏览器标签

MsgBox S '显示结果

Set ie = Nothing '释放内存

End Sub

做个样表详见截图

输入   =IF(ROW()<=COUNTA(A:A),INDEX(A:A,ROW(A1)),IF(ROW()<=COUNTA(A:B),INDEX(B:B,SMALL(IF(B:B<>"",ROW(B:B),6^6),ROW(A1)-COUNTA(A:A))),INDEX(C:C,SMALL(IF(C:C<>"",ROW(C:C),6^6),ROW(A1)-COUNTA(A:B)))))

同时按下CTRL+SHIFT+Enter三键,使数组公式出现{ },公式下拉直到出现0值

这里用公式做3列还可以,但运行比较慢,若列数再多公式更复杂,运行会更卡,建议用VBA而不用公式


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8093944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存