本篇文章给大家谈谈面向专业人士的实用“构建块编程”理念,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
上一篇文章讲如何编写代码程序时,讲到用另一种思维方式来解决问题。今天我就继续延伸这个思路——如何编写VBA程序。
我一直在提倡搭积木的理念。对于一个积木块来说,在不同的程序中只是参数不同,但起到的作用是一样的。那么如何利用好这些积木呢?只需要修正参数即可。本程序中的参数是这样写的。在其他程序中,参数以其他形式写入。当你了解了我给出的积木的功能后,你就可以灵活使用它们了。
我们的搜索数据和搜索到的数据如下:
“FIND”页面是数据源。我们需要根据条件1找到源数据中“MY”工作表中每一行的值,然后将对应的数据放入后续的列中。如何实现这一目标?
首先分析:如果我们想用数据库来解决上面的问题,我们首先想到用数据库连接上面两个工作表,然后提取“FIND”工作表中BCD列的值“NY”工作表中的A 列,并建立什么联系?显然,左外连接和右外连接都可以解决这个问题。这里我们选择左外连接。
2、找到积木:打开左外连接的积木:选择与工作表相关的内容,因为我们要连接的是EXCEL工作表。前往VBA数据库解决方案第58讲复制代码。注意,在《VBA数据库解决方案》书中,我提供了EXCEL程序文件。您需要从程序文件中复制它。由于汉字较多,需要打开汉字输入并复制:
3.修改构建块:
代码:
子mychazhaoONE()
Dim cnADO、rsADO 作为对象
Dim strPath,strSQL 作为字符串
工作表(’MY’).选择
[B:D].清除内容
设置cnADO=CreateObject(‘ADODB.Connection’)
设置rsADO=CreateObject(‘ADODB.Recordset’)
strPath=ThisWorkbook.FullName
TT1=Sheets(‘find’).Range(‘a1’)
SS1=Sheets(‘find’).Range(‘b1’)
SS2=Sheets(‘find’).Range(‘C1’)
SS3=Sheets(‘find’).Range(‘D1’)
cnADO.Open ‘provider=Microsoft.ACE.OLEDB.12.0;扩展属性=’excel 12.0;hdr=yes;imex=1’;数据源=’strPath
strSQL=’选择b.’ SS1 ‘,b.’ SS2 ‘,b.’ SS3 ‘ 从[MY$] 作为LEFT JOIN [FIND$] 作为b ON (a.’ TT1 ‘=’ ‘b.’ TT1 ‘) ‘
rsADO.Open strSQL, cnADO, 1, 3
对于i=1 至rsADO.Fields.Count
单元格(1, i + 1)=rsADO.Fields(i – 1).Name
下一个
范围(’b2’).CopyFromRecordset rsADO
rsADO.关闭
cnADO.关闭
设置rsADO=无
设置cnADO=无
代码截图:
在上面的代码中,我做了一些更正:
1 修正工作表名称
2 条件的修改
3 提取字段的修正
其余部分没有做任何改变。我们来看看代码的运行情况:
正是我们所期望的。
我们已经看到,这种纠正积木然后构建它们的方法可以大大节省您的宝贵时间。当然,你必须能够顺利地修改这些积木并理解这些积木。比如我今天的例子,你需要对知识有深入的理解。要点包括:
1 什么是左外连接?
2、左外连接的返回值是多少?
3 如何创建左外连接SQL语句?
4种编写SQL语句的有效方法。
这些问题在学习第58讲时就应该得到解决。
问题的四种扩展
上面的过程实现了单条件的查找,那么双条件如何实现呢?这里我只给出代码截图:
我20多年的VBA实践经验全部浓缩在以下教程中:
第七套教程(三册):VBA EXCEL应用
教程套装1(三册):VBA代码解决方案
【第四套教程(16G):VBA代码解答视频(第一套视频讲解)】
教程第3 套(两册):VBA 数组和字典解决方案
教程第2 集(两卷):VBA 数据库解决方案
第六套教程(共两册):VBA信息获取与处理
第五套教程(下册):VBA中类的解读与利用
第8套教程(三册):Word应用与VBA(最新教程)
以上教程的学习顺序:
713265或743265。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/161493.html
用户评论
开心的笨小孩
这篇文章写的太棒了!"搭积木编程"思想真的是在职场很有用, 把复杂的工作分解成一个个小的模块,然后一个个拼起来是不是就简单多了?我现在就开始试着将我的项目按照这个思路来规划一下。
有20位网友表示赞同!
微信名字
我一直觉得工作就是拼凑各种东西,这种方法听起来真的很有道理!以前我做事情总感觉一团乱,现在看来或许是缺乏了全局视野和模块化思维。
有11位网友表示赞同!
夏以乔木
说的对,很多时候职场就像是在玩积木一样。 只有把每个块都做好,才能最终拼出完整的画面。这个点子给我很多启发!
有18位网友表示赞同!
全网暗恋者
我很赞同文章里的观点。虽然我还没开始学习编程,但是这种“搭积木”的思路确实可以应用到工作中很多方面,比如项目管理、流程优化等等。
有12位网友表示赞同!
酒笙倾凉
这篇文章说的很有道理。我现在就是缺乏一种结构化思维的习惯,不知道能不能通过这种方法来改善!
有14位网友表示赞同!
减肥伤身#
虽然我是一名程序员,但我也感受到 “搭积木编程” 的重要性。尤其是在大型项目的开发中,模块化的设计能大幅提升效率和可维护性。
有18位网友表示赞同!
来自火星的我
我觉像是这个方法很难用在创意工作上吧?创意工作讲究的是灵感和流动,是不是不太适合这种“固定块”的概念?
有12位网友表示赞同!
摩天轮的依恋
其实这种思维方式有很多变通,我觉得无论什么样的工作都可以应用到一些模块化元素的思想中去,即使是创意岗位也不例外!
有19位网友表示赞同!
一样剩余
我尝试过把工作按照“搭积木”的思路来做,结果感觉更加头疼了! 每个模块之间还不好衔接,最后还是更喜欢自由发挥的风格。
有14位网友表示赞同!
一别经年
我觉得这个方法最大的缺陷就是过于僵化了,缺乏灵活性。职场总是变化无常的,有时候需要快速调整步伐,这种模式可能不够灵活。
有9位网友表示赞同!
不要冷战i
我觉得最重要的是找到一种适合自己的工作方式,也许“搭积木”思维的方式对有些人很有效,但对于另一些人来说效果可能就不是很好。
有13位网友表示赞同!
哭花了素颜
还是要关注效率和成果的提升嘛,如果这种方法能帮你更高效地完成工作,那就试试看吧!学习新事物就是为了更好地适应未来的世界环境!
有14位网友表示赞同!
十言i
我之前也看过一篇关于“模块化编程”的文章,感觉这个"搭积木编程"的想法其实就是一种更直观的表达方式,很有意思。
有12位网友表示赞同!
可儿
这篇文章让我意识到,原来工作和编程有很多相似之处!我也想学习一下“搭积木编程”的思想,看看是否能帮助我提升工作效率。
有5位网友表示赞同!
陌上蔷薇
我觉得在职场中,无论是编程、数据分析还是管理,都需要一种清晰的思维模式。 “搭积木编程” 的思路其实可以帮助我们更好地思考问题和解决问题。
有15位网友表示赞同!
你的眸中有星辰
学习这种“搭积木编程”的心态,有助于我们在面对复杂的工作时保持冷静和条理,避免焦虑和慌乱的情绪!
有17位网友表示赞同!
杰克
很赞赏作者将"搭积木编程"这个概念引入到职场中。 我相信很多人都可以从中受益,找到更加高效 Work 方法
有20位网友表示赞同!