热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

result.put(code在代码什么意思_我的VBA学习之旅(三)——看,代码

Tina:我的VBA学习之旅(二)——相对引用绝对引用​zhuanlan.zhihu.com今天终于要看代码了呢,怎么样&#
Tina:我的VBA学习之旅(二)——相对引用绝对引用​zhuanlan.zhihu.com

今天终于要看代码了呢,怎么样,有没有一点点小激动

就按照相对引用和绝对引用看一眼代码吧

可以按Alt+F11快捷键打开代码,也可以选择开发工具-Visual Basic,还可以选择开发工具-宏-编辑进入代码

就拿上两次的张三李四王五和两列数字相加为例


张三李四王五

相对引用

Sub 相对引用名字()
'
' 相对引用名字 宏
''ActiveCell.FormulaR1C1 = "张三"ActiveCell.Offset(1, 0).Range("A1").SelectActiveCell.FormulaR1C1 = "李四"ActiveCell.Offset(1, 0).Range("A1").SelectActiveCell.FormulaR1C1 = "王五"ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

绝对引用

Sub 绝对引用名字()
'
' 绝对引用名字 宏
''ActiveCell.FormulaR1C1 = "张三"Range("A2").SelectActiveCell.FormulaR1C1 = "李四"Range("A3").SelectActiveCell.FormulaR1C1 = "王五"Range("A4").Select
End Sub

对比上面两个代码,相信都能看出来,在相对引用里面

ActiveCell.Offset(1, 0).Range("A1").Select

的代码到了绝对引用里面变成了

Range("A2").Select

这两行代码各自代表什么意思呢

说实话,我也不是特别懂,所以只研究了一下它的数字

尝试更改相对引用里面的数字,发现(1, 0)是接下来要怎么走的路标,什么意思呢

(X, Y)中,X代表行,Y代表列,X是正值,代表往下走,是负值,代表往上走,Y是正值,代表往右走,是负值,代表往左走,数值代表步数

a68ea9bcf794fe8fbc362ce4cf604630.png

然后,在相对引用和绝对引用中,都有Range("A1")这个东西,代表什么意思呢

在相对引用中,前面按路标走完了,后面都是Range("A1"),代表以当前所在的单元格为A1,你要去的地方。比如说,我当前单元格是B5,相当于是A1的位置,那么Range("A1")出来之后,我就呆在B5,如果Range("A1")变成了Range("A2"),那么我要向下走一格,结果就是走到了B6

fed3b0a5b31b8a386c6b04be2344a41d.png

绝对引用里面的Range("A1")就是A1单元格,想指定哪个单元格就改成哪个单元格就行

ActiveCell.FormulaR1C1 = "张三"

这行代码里的数字我没弄明白是什么意思,可以度娘询问之。。前面的ActiveCell,顾名思义,活动单元格,就是选中的那个单元格


两列数字相加

相对引用

Sub 相对引用公式()
'
' 相对引用公式 宏
''Application.CutCopyMode = FalseActiveCell.FormulaR1C1 = "=RC[-1]+RC[-2]"ActiveCell.SelectSelection.AutoFill Destination:=ActiveCell.Range("A1:A10")ActiveCell.Range("A1:A10").Select
End Sub

绝对引用

Sub 绝对引用公式()
'
' 绝对引用公式 宏
''Application.CutCopyMode = FalseActiveCell.FormulaR1C1 = "=RC[-1]+RC[-2]"Range("C1").SelectSelection.AutoFill Destination:=Range("C1:C10")Range("C1:C10").Select
End Sub

这里的两种代码,前两行一样,差别就在后面三行了

那前两行什么意思咧

Application.CutCopyMode = False

这行我也不清楚它什么意思

ActiveCell.FormulaR1C1 = "=RC[-1]+RC[-2]"

这行表示,在活动单元格里面填充一个公式,公式是这个=RC[-1]+RC[-2],RC[-1]表示活动单元格左边的第一个格子,RC[-2]表示活动单元格左边的第二个格子,所以这个公式表达的就是把活动单元格左边的两个值加起来的意思

1004ff2c49ffda4357234268121e9967.png

在相对引用中

ActiveCell.Select

表示,不管你是哪个单元格,我就选中你了,比如我选中了C5,那么C5就是活动单元格了,按上面公式,C5=B5+A5

Selection.AutoFill Destination:=ActiveCell.Range("A1:A10")

这一行呢,表示的意思是,我选中C5了,把C5当成是A1单元格,把上面的公式向下填充,直到C14为止

ActiveCell.Range("A1:A10").Select

这最后一行表示,把从活动单元格开始往下数十格全部选中,比如我活动单元格为C5,那么现在选中了C5:C14

在绝对引用中

Range("C1").Select

表示选中C1单元格

Selection.AutoFill Destination:=Range("C1:C10")

表示把上面的公式填充到C1:C10中

Range("C1:C10").Select

表示选中C1:C10


绝对引用和相对引用这个大坑看明白了不?什么,不明白,那再从头看一遍,,记得自己改一下代码尝试一下代码里面的东西代表了什么意思,反正Excel大家都有


由于看书也看了一周了,东西也能做一点出来了,现在不知道下一篇该分享什么了。。

如果分享常量变量等等的基础知识,觉得太枯燥,而且这些东西完全可以从工具书上获取,如果不分享,那又会对后续造成极大的麻烦。

如果分享程序的顺序结构、分支结构、循环结构等基本结构,又感觉进阶太快,有编程基础的人在这一点上完全没有问题,没有编程基础的人学起来可能略吃力,就算不上小白入门VBA了。

等我纠结完了再分享吧= =



推荐阅读
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • Introduction(简介)Forbeingapowerfulobject-orientedprogramminglanguage,Cisuseda ... [详细]
  • 线程漫谈——线程基础
    本系列意在记录Windwos线程的相关知识点,包括线程基础、线程调度、线程同步、TLS、线程池等。进程与线程理解线程是至关重要的,每个进程至少有一个线程,进程是线程的容器,线程才是真正的执行体,线程必 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有