找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

[求助] 求助把运行宏的结果输出到txt文件里的宏代码

[复制链接]
21
发表于 2016-8-2 15:49:50 | 只看该作者
假设在A1单元格输入项目号

第一层的函数写法建议如下:
按A1单元内容的长度加二起读取代号两字节再乘以十的八次方。

第二层的函数写法建议如下:
当代短于项目号长度加四(相当于不含第二及以上的层级),给予0;
否则按A1单元内容的长度加五起读取代号两字节再乘以十的六次方。

第三层的函数写法建议如下:
当代短于项目号长度加七(相当于不含第三及以上的层级),给予0;
否则按A1单元内容的长度加八起读取代号两字节再乘以十的四次方。

第四层的函数写法建议如下:
当代短于项目号长度加十(相当于不含第四及以上的层级),给予0;
否则按A1单元内容的长度加十一起读取代号两字节再乘以十的二次方。

第五层的函数写法建议如下:
当代短于项目号长度加十三(相当于不含第五及以上的层级),给予0;
否则按A1单元内容的长度加十四起读取代号两字节再乘以十的零次方。

详见动画。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
22
发表于 2016-8-2 16:34:37 | 只看该作者
莱虫 发表于 2016-8-2 15:49
假设在A1单元格输入项目号

第一层的函数写法建议如下:

唉,莱大,我表示很惭愧,我理解了您的思路,可是这些算法和代码我完全看不懂。恐怕要辜负您的期望了。
23
发表于 2016-8-2 17:18:11 | 只看该作者
dreamsboy 发表于 2016-8-2 16:34
唉,莱大,我表示很惭愧,我理解了您的思路,可是这些算法和代码我完全看不懂。恐怕要辜负您的期望了。

慢慢看,用心看,必定会明白的。

为什么按不直接给予excel文件,就是希望不是单单解决今天的问题,而是日后可以用得着。
通过提示(其实动画内有显示函数怎么写),亲自动手键入,可从临摹及失败的过程之中了解因由,获得更多。

整合后的函数写法见附图,一步就可以制作出排序栏位,注意无须隔行,隔行只是为了截图方便不至于过宽。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
24
发表于 2016-8-2 17:31:07 | 只看该作者
本帖最后由 dreamsboy 于 2016-8-2 17:33 编辑
莱虫 发表于 2016-8-2 17:18
慢慢看,用心看,必定会明白的。

为什么按不直接给予excel文件,就是希望不是单单解决今天的问题,而 ...

莱大所言甚是。我从上周五晚上开始,一直没停歇的研究学习VB到周日晚上。今天深圳台风红色预警放假,我从昨天下班又一直学习到现在都还没闭过眼呢。这几天下载学习了二十几个宏文件,就在学宏代码的用法语法。不是我不想学,实在是起点有点低了,之前都没学过VB语言,有的东西一时半会学不来。有实例的东西,我可以修修改改,达到我想实现的目的,改动量太大的东西现在真的还没那水平几天搞定。


能否请莱大把这个文件初步的做些框架出来,让我学习学习,学习的同时再慢慢的去修改一下测试一下,慢慢的提高水平?
谢莱大。

25
发表于 2016-8-2 19:14:37 | 只看该作者
dreamsboy 发表于 2016-8-2 17:31
莱大所言甚是。我从上周五晚上开始,一直没停歇的研究学习VB到周日晚上。今天深圳台风红色预警放假,我从 ...

excel函数基本上与VB无关的,在excel环境来说,应先采用函数,不行再考虑VBA。
这是一个单纯使用函数来解决排序的例子,好吧,俺就放上excel文件供君参考。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
26
发表于 2016-8-2 19:23:40 | 只看该作者
莱虫 发表于 2016-8-2 19:14
excel函数基本上与VB无关的,在excel环境来说,应先采用函数,不行再考虑VBA。
这是一个单纯使用函数来 ...

谢谢莱大了。
我下载了。先去吃饭了,吃饭回来看看还搞不搞得了了。研究宏研究得二十个小时没睡了。
27
发表于 2016-8-4 23:33:00 | 只看该作者
莱虫 发表于 2016-8-2 19:14
excel函数基本上与VB无关的,在excel环境来说,应先采用函数,不行再考虑VBA。
这是一个单纯使用函数来 ...

莱大您好。这两天工作比较忙,在出一个项目的设备安装需求图,没有多少时间仔细研究这个文件。不过我也并没有偷懒,在手机上下了个VB教程的APP了,在有时间就瞄几眼学一下。
对于您这个文件,我主要是卡在了你的一行代码上。

=IF(MID(A5,ROUNDUP((LEN(A5)-LEN(A$1))/3,0)*3+LEN(A$1)-2,1)=".","装配","-零件-")

请问下,这一行代码,ROUNDUP((LEN(A5)-LEN(A$1))/3,0)*3 ,想请问下,为什么(LEN(A5)-LEN(A$1))的结果要除以这个3呢?这一步的思路是什么呢?是因为表里的装配体代号加上前面的符号段(这例里的.号)的字符长度都是3位吗?我试了下,如果装配体的编号超过10时,这一个部件被识别成了零件。同时后面的那例乘号和加号的混合运算的结果也会出错了,比前面的.05  .07   .08等的运算结果都要小了。且装配体的编码为.012等三位数值时,后面的混合运算的结果就报错了。出错的情况如附件和图片所示。如果用这代码的话,那就是以后部件编码最多到.09了,从.010的组件开始后面的就会有问题了(因为我们公司的规定是部件的编码前面必须得加这个数字“0”)。这个问题应该怎么解决?请莱大指点指点,谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
28
发表于 2016-8-5 10:24:30 | 只看该作者
建议一开始就尽量说出要求,像挤牙膏般,想到什么就什么,不是办法,只会让早前所做的一切都变得白做。
29
发表于 2016-8-5 22:39:10 | 只看该作者
莱虫 发表于 2016-8-5 10:24
建议一开始就尽量说出要求,像挤牙膏般,想到什么就什么,不是办法,只会让早前所做的一切都变得白做。

好吧,我之前没说清楚组件前面这个0并不是纯粹是为了把组件图号补足成两位数的。
30
发表于 2016-8-6 16:40:27 | 只看该作者
貌似要二次开发
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-1-3 20:14 , Processed in 0.024805 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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