2024-04
12

有理有据地做选择

By xrspook @ 8:17:23 归类于: 烂日记

花了大概一天的时间整理出一个用来算库存价值的东西,这里我没有使用VBA,是因为我需要一个更稳的方式。之所以不用VBA,因为已经不需要跨文件加入数据了,所有东西都将在一个文件里解决,而且相对于我得用VBA来干掉的那些,这里的数据相对来说很少,所以这一次我用的是Power Query。我有考虑过要不要用Power Pivot,但最终可能我的数据要以普通表格或者是数据透视表的方式表现出来,通过查询生成的东西最终可能要粘贴到经典的纸质版二维表里,数据透视表在这个情况下就不怎么适合复制粘贴,尤其是当我的数据透视表选项里有合并居中的设定。

在这个做这个的过程中,我有考虑过用Excel自带的公式,但无论是经典的lookup还是新函数xlookup效率都太低了,我不知道是我的电脑太渣,还是的确就那么回事。如果用PQ,在一个低端的Excel里,的确可能效果是很糟糕的,但如果我已经把刷新好的数据发给别人,别人即便刷新不出来,数据也都能看到,不影响,但如果用的是高级的公式,可能那里就一团糟了。还记得多年以前,单位有异地储备玉米,对方把到达码头和已经装船发货地数据发给我,用了sumifs,那个时候我用的office是2003的,那个公式我根本没办法使用,全部显示的都是一团糟,所以我不得不为了打开那个文件看到里面的数据又在电脑上装了个WPS。那次之后,我才努力的尝试用office 2016,之所以会跳过2013,是因为2013在数据透视表方面有无可救药的bug。如果是office 2010,高级公式依然打不开,所以现在当我要实现某个功能的时候,我要考虑什么东西会高效一点,什么东西兼容性好一点。VBA的兼容性很好,但是不是人人都敢打开宏文件。因为在以前,宏文件通常都意味着有木马之类的东西。同时,我设定了宏万一某些时候有问题,别人就会只会弹出错误,的不到结果,也会让人很紧张。

这一次我做的文件,可能后面见到的人会很多,他们可能会用不同的电脑,可能是win10,也可能是win11,有可能是office 2021、2019,又或者是Microsoft 365,也有可能是WPS,到底的WPS里面能不能正常打开并使用PQ我不知道,我估计是不行的,但是能不能看到数据呢?我觉得应该可以,但是无法通过修改某些条件刷新出新的东西。

微软的AI据说很厉害,但关键是在中国和俄罗斯用不了,所以那些都是扯淡。前段时间说Excel通过安装插件可以使用Python,但是那个Python处理是需要把数据送到远端的服务器再传送回来的,我感觉最终会跟微软AI的命运差不多。现在的Power Query相对于我第一次在office 2016里看到的那个已经成熟了很多。还记得我是第一次在自己的笔记本电脑 office 2016家庭版里见到的PQ,那个时候那就是个四不像,中文英文各有一点,翻译都不全。有些功能也不知道是我用得不对还是怎么样,反正就会卡住。对照一些经典案例,的确能得到某些结果,但是我却一直都没有经常使用,因为真的不是每个office都兼容那个东西,而且不同版本的office看到的结果和刷新到的效率可能相差很远。

要解决同样的问题,到底用什么样的工具?当我手上的工具只有唯一的时候,就只能选那个,但是当我可以做选择的时候,我会考虑数据大小、运行速度,以及不同windows和不同office下的兼容性。

2024-01
14

家里的VBA也出状况了

By xrspook @ 10:01:56 归类于: 烂日记

说晚上回家跟往常一样工作,却发现某个VBA排序的功能不知道为什么选不到了,那个VBA里面我设定了好几个宏。使用的时候我打开一个新的文件,然后调用某个VBA文件里的某个宏实现某种功能,现在的情况是某个VBA文件里面的某个宏我选不到了,之前从来没有发生过这么屌丝的事情。不仅仅是alt+F8的时候选不到了,当我当alt+F11进入VBA脚本编辑界面的时候,某些宏居然也点不进去了,模块也无法选定。那个时候我真的是非常无语,为什么居然会发生这种事呢?为什么有一些宏就可以,另外一些就不可以?幸好排序的那个功能即便无法用宏去实现,我依然可以轻易手动完成,但是这么诡异的事情实在让我不知道该怎么办。

我完成了那天的工作以后,我首先把office升级了,升级到了最高的版本,同时也把win10的系统进行了更新。所有东西升级完还没有重启之前,我测试那个之前诡异的VBA文件。好像情况又不像我工作的时候遇到的那么糟糕,但是情况时好时坏,有时能选择得到,有时选择不到。当我彻底更新的重启再次进入系统以后,发现那个VBA好了,彻底的好了,但是有时也会出现一点点鼠标转圈的卡顿。我的VBA都还没有进行任何的操作,为什么就卡顿了呢?

周六晚上我又进行一些很常规的操作的时候发现VBA的某些宏又出现了我办公室那台电脑上曾经困扰我的事情。会直接跳出来说,某些copy的功能不可用,你可以进行调试或者结束。这种东西是完全没有道理的,因为之前我都一直还在用着那个文件,没有进行任何的修改。如果说宏的某些问题跟跨表调用数据有关,但在这个出了copy问题的宏里根本就没有进行这种高端的操作。弹窗的报错是因为文件某个另存为的功能无法实现。为什么会有如此低端的问题呢?我隐约记得办公室的那台电脑出现这个问题的时候,我把电脑重启,然后就好了,什么都没有修改。

所以这到底是什么问题导致出这种错误呢?我严重怀疑周五晚上我遇到的那种事情,是因为win10正在后台悄悄地进行升级。首先是下载文件,会占用我大量的CPU和内存,因为家里这台电脑是2012年组装的,已经非常年迈了,i3二系的CPU进行日常的操作,上个网之类完全没有问题,但如果win10要进行大量的资料下载,同时也要进行那些东西的安装,我说不准会不会就会产生问题。理论上要不要升级,什么时候升级都应该由我来决定,但实际上win10在升级这个问题上,总是悄悄地在后台自动进行,当它提醒我的时候,通常下载和安装都已经完成,最后就只是让我决定什么时候重启。

单位办公室那台电脑出现那个问题的时候,我也觉得应该跟windows或者office的某些更新有关,但是我遇到问题的那个时间跟升级的那个时间相差挺远,没有找到接近的,所以我就没有继续在那里纠结。单位办公室那台电脑,VBA出不出状况,很难说情况,时好时坏,可能一天下来都没事,但也有可能一天会撞上好几回。有些时候把同样的文件复制过去,再次使用就没有问题了,有些时候得重启一下就好了。除了这两款以外,我实在找不出还有什么解决方案,但幸好这两款还暂时还能应付的过去。家里这台电脑之前我一直没有遇到过VBA相关的问题,周五晚上是我遇到的第一次,周六马上遇到了第二次。

Windows用了那么多年,VBA也用了那么多年,但微软居然会在这些如此普通的事件上面犯错误,所以如果我只是需要求稳定,我还可以相信谁呢?

2023-12
21

确定使用365家庭版

By xrspook @ 9:16:24 归类于: 烂日记

38岁生日的这一天做成了一件事,就是终于找到了一个方案更换同事的office软件。因为我发现在win11系统之下,用office 2016的确会出问题,但这种问题你又说不准到底是因为什么,有时候会出现文件报错。公式自动发生了变化,比如某些不是数组公式的会变成了数组公式,让人觉得非常无语的是数据透视表的部分完全没了,只剩下纯粹数据本身。除了这些核心问题以外,表格的格式也发生了变化,比如行列距离,但最根本的问题我觉得是当我在用365的Excel的VBA访问某些被office 2016修改过的文件的时候,会出现一些莫名其妙的错误。之所以这么觉得,是因为这些错误发生的时间跟2016修改文件的时间比较吻合。在没有找到VBA出现问题的根本原因之前,我首先得排除这是2016造成的。2016 proplus的版本里也可以使用Power Query,但实际上数据刷新的时候,非常容易卡住。在365里可以刷出来的数据,2016会卡在那里,可能多刷几次也能行,但是那种体验会让人觉得挺崩溃。因为我是一个用了365好几年的人,但因为同事的电脑是2016,所以虽然365已经引进了一些动态公式,但是我却一直不敢学习使用,因为只能我能看得到,别人看不到,这样就没办法工作了。现在如果大家都用了365,我就可以怎么高端怎么方便怎么来。

近期我发现很普通的vlookup公式在365最新版本之下,会自动会变成一个动态公式,根本不需要把公式往下拉,它自动会显示一个蓝色的窗口,里面就是你需要下拉的那些东西。那种动态的感觉直接让我联想到了超级表格。365的其它查询公式也有这么牛逼的功能,我在看其它公式介绍的时候就发现了,但直到某一天,我自己用vlookup的时候才发现原来传统的公式也升级了这项功能。

本来我的设想是买office 2021的密钥,跟同事经过一番讨论以后还是觉得单位购买Microsoft 365家庭版比较划算。首先因为家庭版可以绑定的电脑比较多,其次是因为如果电脑经过一批又一批的更新换代,新的电脑自带了office,365可能就不需要购买了,但如果只是一次性买2021的话,经过几年的迭代,那个东西虽然买回来很贵,但实际上还是会有老化的时候。

我足足花了一个上午的时间才总算最终确定了这个Microsoft 365家庭版的方案。,但把365装在同事的电脑上,并确定可以使用,又不得不拖到了下午。首先找做表的人,然后是找要签名的人。接着找建立账号的人,最后找付款的人。付款的人说因为申请表还没有列出来,所以还不能那么快就付款,因为付款就会自动生成电子发票,电子发票的时间不能早于申请表的时间。所以最终的决定是先把office 2016卸载了,然后安装Microsoft 365,接着是用同事的某个家庭账号里面的共享子账号暂时支撑一段时间,等单位的家庭账号买回来了以后再把同事的365账号更新上去。

生日这天让我没料到的是明明是星期三,消消乐却有了更新,当我好不容易干完了20级以后发现原来星期四还有一个更新。1220的算是节日加更,我搞不懂这到底算是什么节日,圣诞吗?元旦吗?还是说澳门回归?平平淡淡就好,每周20级就可以了,一周折腾两次很心累。

2023-12
13

VBA神经质了

By xrspook @ 13:28:44 归类于: 烂日记

星期一上班的时候跟往常一样,我打开了其中一个我常用的VBA脚本,结果发现当我按下按钮的时候,马上闪退。接下来会自动打开一个Excel。开始那几次我直接把那个关掉了,后来我选择新建一个空白文档,然后会看到左边显示可以恢复我之前闪退的那个Excel。到底为什么那个VBA脚本会闪退呢?上周四离开之前我没有做任何奇怪的设定,基本上查完数据就关掉了,最后的保存时间是下午5点多。放置VBA查询脚本的文件夹是本地文件夹,没有设定同步的。无论是我关闭的时候,还是说我关闭之后文件都没有被修改过。为什么之前一直没有问题,这一次却闪退了呢?重新载入,打开失败的Excel文件之前,我从同步的文件夹里把同款的VBA脚本文件复制了过去,结果发现那个VBA脚本就没有闪退这种问题。就VBA的核心编程来说没有任何区别,为什么一个会闪退,另外一个却不会?闪退了之后重新保存那个文件不闪退。

VBA脚本闪退这个问题,当我第一次看到的时候我是挺慌的,我赶紧把其它VBA也打开试了一下,发现其它没有问题。为什么就只是这个文件有问题呢?一天下来,我也再也没有发现其它的问题。周一的晚上我要用另外一个VBA文件转化数据,结果却发现不成功,被卡在了某个步骤,那个步骤是把当前工作簿的某个工作表复制到新的工作簿。我一直都是采用那种操作方式,为什么之前就没有问题呢?接着我打开另外一个同样需要复制工作表到新的工作簿的VBA文件,结果发现那个更糟糕,显示的是activeX错误。转化数据的那个VBA脚本直说卡在了另存为那个步骤,我还可以手动把已经生成的数据复制到我想要的地方,所以工作是可以继续下去的,但另外一个activeX出现问题的工作簿是属于那种另存为也不行直接保存也保存不了的状态,无论如何都说我数据错误。这就让人觉得很无语了,因为上午下午我都打开过那个文件查询过数据,为什么一直都没有问题呢?

当windows出现问题,绝大多数情况下重启一下就好了。无计可视之下,我重启了电脑,转换数据的那个VBA直接就好了,没有问题了。和另外一个activeX出现故障的那个,好像一直都是那样,但是当我把同步文件夹里面的同款复制过去以后也好了。是Office某个安装文件损坏导致的这种问题吗?为什么同样的文件复制到某个文件夹里就好了呢?VBA脚本是我自己写的,其中关联了什么我自己清楚。VBA脚本放在什么地方跟使用没有任何关系。所以到底是什么原因到导致了VBA的这种神经质呢?

星期二早上,什么都没干之前,我赶紧看了一下windows的更新,结果发现对上一次更新是在11月,显然跟我出状况的那个时间不吻合,但Microsoft365到底是什么时候自己做的孽?这个我查不出来了。反正周二的早上我首先对win10进行了更新,然后也对Microsoft365也进行了更新。如果依然出现严重的VBA问题,我觉得我得对Microsoft365进行修复。如果问题依旧,估计就只能重装Microsoft365。

一开始我以为这只是VBA的问题,结果发现,我的某个word里面的交叉引用也出现了错误。我非常肯定之前是没有这种错误的,因为那个文档我复核了很多遍。如果有那种错误,我肯定会复合得出来,之所以我完全不知道那个错误的存在是因为我复核的时候,根本没有那种错误。交叉引用的错误跟VBA的随机错误到底是不是同一个问题引发的呢?那个又到底是什么类型的问题呢?我真的希望有人说那是因为win10的某个更新导致的,卸载那个更新就可以解决问题。

现在我依然没找到原因,所以就只能祈求不要遇到这种问题,又或者遇到这种问题的时候见招拆招。

2023-12
4

数据迁移卡壳

By xrspook @ 11:10:49 归类于: 烂日记

双11之前某个亲戚就说要我跟他一起去买新的华为手机。那到底他要买什么时候的华为手机呢?当时的mate6刚出,我不知道他心里的价位是多少,反正看完小米的再看华为,我就觉得华为手机的定价让我觉得很肉痛。再看一看手机的参数,我更加不明白为什么那个手机要卖到那个价格。后来当我看某些评论的时候,有些人说。之所以能忍受华为手机,是因为某些人根本就没用过其他的手机,如果用过其他安卓手机,估计就回不去了。

某个亲戚肯定是不缺钱的,但是不缺钱的人也会对花钱有所顾忌。华为的mate6系列,哪怕是最便宜的那个,我也觉得贵得实在太离谱了。他说要换手机的时候mate6刚出,还处在一个预售的状态,他去零售店问过。那里告诉他,如果要买mate6,得等三个月。为什么要先给钱,然后再等三个月呢?虽然可能只需要付一定金,不需要付全款。不是非常忠实的粉丝,绝对做不出这种事情,一个路人甲就更加不会干这种事情。当时一开始说小米手机是PPT手机,但是小米不过是一两周之后才发货而已,货是有的,但是以前的物流没有现在这么好,还有就是以前的仓库没有现在这么多。另外一些原因就是以前的手机都是得蹲点抢,手速的快慢就意味着发货的快慢。后来的小米手机不需要蹲点,不需要抢了。可能有些时候先付个定金再付尾款,在首发的时候买会便宜一些,但只要发货,正常情况下第二天就会到,哪怕是最近的仓库没有货,三天之内也会送到。所以现在卖手机的再也不能说小米是PPT手机了,但华为就是这个样子。

小米手机是如何换机的,这个我非常清楚。因为自从有这个功能以后我就一直在用,而且每一次都会比上一次更好。但华为手机是如何换机的?这个我就不清楚,理论上这应该是一个系统的功能,根据说那个东西做成了一个APP,就像一个第三方应用一样,反正在小米的应用市场是搜索不到手机克隆这个APP。因为我不晓得华为的数据迁移会遇到什么问题,所以最保险的方式是找一家华为的零售店,让店员完成这个操作。

去到珠影的门店,的确店员很快就才开始操作,一吨操作让人眼花缭乱,点击以后然后手机开始互传文件,之所以在互传之前有一个那个复杂的操作,是因为那部新的P60手机预装了很多第三方软件,夸张到满屏都是,而且有些还放进了文件夹,于是店员在互传之前就先把那些删掉,因为如果不删除的话,估计桌面的排布就不是原来那台手机的模样了。

数据开始传输没发现有什么问题,到30多GB的时候,据说已经传送了99%。我觉得亲戚的那台旧手机是128GB的,估计里面的东西超过100GB,因为过一段时间就会提醒他内存不足。为什么30多GB就已经传说传送了99%呢?两个手机都显示理论上还剩余一分钟的传输时间,但是那个一分钟却持续了一个小时以上。最后我忍无可忍查看两台手机的进程,旧的那台手机显示2000多条短信已经全部发送完毕,但是新的那台手机只接收的6条,其它显示正在传送中。就是因为那个步骤一直卡在那里,其它步骤无法进行,这是一个死循环。我第一次发现那个问题是在中午12:53,但是到下午13:04的时候依然这样,所以我们就问了一个又一个的店员,他们都说正在传输中,你只能等,但显然这种卡住,你等也没有用的,因为不知道是什么东西卡住了。如果那是一个很大的文件,还可以理解,但是那是一条短信,一条短信能有多大呢?最大的问题是一个手机说传输完毕了,另外一个手机说正在接收,信息不对称就很有问题。手机互传,理论上是不需要连接WiFi,跟店里的WiFi没有任何关系。店员在操作数据迁移的时候,也没有连接WiFi这个步骤。所以其中一个店员说可能是因为店里的WiFi性速度太慢,所以卡在那个地方,那样的回答肯定是不合理的。另外一个店员说,你只能在这里等,没有其他办法,这也是不合理的。这个数据迁移的设计就有问题,如果是这个步骤被卡住了,理论上超过一定时间,就应该暂停这个进程,开始另外的进程,但实际上却一直卡在那里,完全没有进度可言。

最后我的亲戚觉得忍无可忍,结束了互传。他的计划是回家再试一次,如果还是不行就另外找别的门店在再试。换了那么多台小米手机,我从来没有遇到过这种问题。手机的通讯录和短信理论上是最简单的,因为相对于大块头的APP资料以及图片视频等等来说,通讯录和短信肯定很小,有些短信可能不仅仅有文字,还有其他附件,但是也大不到哪里去。华为这种卡在短信传输上面的问题,实在让人觉得很无语,这种风格跟我们单位那批华为的WiFi如出一辙。突然间断掉,突然间丢包这种事情我实在太熟悉不过了。如果说单位的那些华为WiFi比较老,出现这种问题,可能我还得理解一下,但是这个P60的手机是2023年初才出的,怎么也会有这种问题?归根到底这到底是软件的问题还是硬件的问题?

反正我不用华为手机,这种事情我不用烦恼。

© 2004 - 2026 我的天 | Theme by xrspook | Power by WordPress