欢迎光临散文网 会员登陆 & 注册

ExcelVBA 刷新PQ生成的超级表同时修改列属性

2022-09-22 18:45 作者:孙兴华zz  | 我要投稿

网友需求:

我们在PowerQuery中上载表后,有时会发生一个问题,日期列上载后变成了数值。这位网友的需求是:让原表发生更改时,自动刷新PowerQuery生成的超级表,并将指定列修改成日期格式。

假设,有如下一张表,在PowerQuery里操作上载到了表1

现在网友需求是修改Sheet1里面的单元格时,自动刷新表1数据,并将日期列改成日期格式

其实刷新这个事,我们之前的ExcelVBA与PowerQuery双剑合璧讲过的,在这里

https://www.bilibili.com/video/BV1aF411a7cC

在VBE编辑器中,双击Sheet1

选Worksheet,再选Change。我们需要对Sheet1这张表写更改事件。代码在红框内

方便大家复制粘贴,红框内代码如下:(红框外的代码是自动生成的,无需手工写)

现在我们对Sheet1单元格进行修改时,他会自动刷新表1,并跳转到表1。

这里会出现一个问题,就是数据量大了以后,可能超级表没有加载完,就要运行对A列的单元格属性设置,造成设置失效。我暂时没有办法判断超级表是否加载完毕。

但是有个笨办法,假设你的表加载需要2分钟,你可以在设置单元格属性前加上一句

Application.Wait (Now + TimeValue("0:03:00"))

括号里的时间是  小时:分钟:秒    让他大于你的刷新时间后再执行下面的代码

如果谁有能判断超级表加载是否完成的判断方法,欢迎大家留言。

ExcelVBA教程:https://www.bilibili.com/video/BV1rt4y1a72y

更多教程:https://www.bilibili.com/read/cv10222110

ExcelVBA 刷新PQ生成的超级表同时修改列属性的评论 (共 条)

分享到微博请遵守国家法律