8 excel vba 往多行写入数据
我们都知道, 一个表格里有很多个单元格. 由前面可知,我们要往一个单元格里写入数据,首先就要获得这个单元格的引用. 这样程序才知道在哪里写入数据.
比如我们要往单元格 A1 写入数据, 可以用 range("A1") ,来表示单元格A1 . 那么如果我们要表示多个单元格该用什么语句呢?
1, 比如我们有如下的表格.我们要在每行的单元格里写上美元两个字
我们知道,range("A1")可以表示 A1 ,同理,range("A5")可以表示A5 ,在vba里, 我们可以把A1到A5理解为一个区域,
当我们知道一个区域的首尾两个单元格的引用的时候, 就可以用 range(首,尾)来表示这个区域.
在这里
首是 range("A1")
尾是range("A5")
那么这个区域就是 range(首,尾), 即 range(range("A1"),range("A5"))
来,接下来我们复制如下代码来试试
Public Sub diandian8()
For Each danyuan In Range(Range("A1"), Range("A5"))
danyuan.Value = danyuan.Value & "美元"
Next
End Sub
运行后你就会发现:
代码说明:
前面一节我们说过了 一个循环结构
for each 红包 in 红包集
next
表示出红包集里拿出一个一个红包.
在这里我们可以理解为:
for each 单元格 in 单元格组成的区域
next
即
For Each danyuan In Range(Range("A1"), Range("A5"))
danyuan.Value = danyuan.Value & "美元"
Next
这三句可以理解为 从区域里拿出一个又一个的单元格. 然后再这个单元格里加上美元两个字.
2, 由前面我们可以知道,表示一个区域可以使用range(首,尾) 来表示. 在使用的过程中你会发现. 首往往是很好描述的,正常要吗是range("A1") 或者 range("A2"), 但是尾往往不好描述.
比如今天我们的只有五行数据,可以用range("A5")来描述. 可是明天有10行数据你该怎么为? 你可以说我们可以用range("A10"), 这当然可以,可是有没有一种办法,可以让它自动随着你的行数变呢? 我们一直追求的是,能懒则懒
这里vba提供了一种方法:
Range("A1000").End(xlUp)
这里,range("A1000") 表示的是单元格A1000, 就是A列的第1000行的那个单元格.这个End(xlUp)就厉害了. 初中毕业的我们都知道, up是向上的意思, 比如我们耳熟能详的精典语名: good good study ,day day up. 所以这个可以理解为从A1000为起点,一直往上, 直到遇到一个不是空的单元格为止, 然后就返回这个不是空的单元格的引用.
所以在我们这个表格中, 从A1000往上,不是空的单元格就是A5了, 即Range("A1000").End(xlUp) 就表示A5的引用了.
如何验证这点呢,来,复制下面的句话
Public Sub diandian8()
Debug.Print Range("A1000").End(xlUp).Value
End Sub
运行后你会发现:
所以当我们的表格变成了 这样时,
你就可以用
Public Sub diandian8()
For Each danyuan In Range(Range("A1"), Range("A1000").End(xlUp))
danyuan.Value = danyuan.Value & "美元"
Next
End Sub
这个时候不管你A列有多少行数据, 只要不超过1000行,不管怎么变,都可以再每行后面加美元两个字了.
8 excel vba 往多行写入数据相关推荐
- WPS表格使用VBA往SQLServer中写入数据
WPS表格使用VBA往SQLServer中写入数据 此代码在WPS表格中运行正常,office Excel中没有测试过,用的都是WPS所以- 需要提前安装WPS VBA插件否则无法运行. A1处如果去 ...
- 如何在 Excel VBA 中插入行
在本文中,我将解释如何使用VBA(Visual Basic for Applications)在Excel中插入行.VBA 是一种编程语言,适用于在Excel和其他Office程序中工作的人员,因此可 ...
- NPOI读取Excel模板并向其中写入数据
HSSFWorkbook hssfworkbookDown;//读入刚复制的要导出的excel文件 using (FileStream file = new FileStream(modelExlPa ...
- EXCEL VBA 使用正则表达式清洗替换数据
在EXCEL表内遇到有规律性的数据需要提取或者替换时,比如在数据中提取时间,身份证号码等,EXCEL内自带的查找替换就难以实现,我们可以利用VBA适用正则表达式去对数据进行匹配. 什么是正则表达式? ...
- c++在txt中每行写入数据和每行输出
<span style="font-size:18px;">#include<iostream> #include<fstream> #incl ...
- Excel VBA 指定区域内的数据 导出为图片
Sub ExportChart() Application.ScreenUpdating = False Dim ChartPath As String Dim ra ...
- Excel vba开发 合并单元格拆分自动填充功能、在每一条数据后面插入空白行、将地理坐标的经纬度转换成度等功能
写在前面: 最近老大丢给我一个数据量比较大,比较复杂的表,让我用VB去处理,刚被分到这个任务的时候一脸茫然,对Excel VB开发一点都不了解,所以就自己研究并查资料,最后终于解决了. 一.Excel ...
- js向excel写入数据的案例
要在 JavaScript 中向 Excel 写入数据,您可以使用第三方库来实现.其中一种可行的方法是使用 SheetJS 库.它是一个开源库,可以在浏览器中读写 Excel 文件. 以下是一个简单的 ...
- vba 用adodb连接mysql_【VBA研究】Excel VBA利用ADODB访问数据库使用小结
[转自] http://blog.csdn.net/iamlaosong/article/details/18043433 作者:iamlaosong ▲连接Oracle数据库 Set cnn = C ...
最新文章
- 福利 | 学习超级用户运营,都来U-Time六城巡回沙龙”!
- 大型系统OA--技术
- Leetcode 剑指 Offer 58 - II. 左旋转字符串 (每日一题 20210830)
- python把图片另存为_pycharm sciview的图片另存为操作
- 坚果云feodra(linux)启动失败
- 人是不是不应该善良?
- 查看SQL Server被锁的表以及如何解锁【转】
- 微星刀锋 无法进入bios_只需一键!内存性能免费提升150%!微星AMDB550超频
- 最优矩阵链乘(动态规划)
- Java根据国家二字码获取国家英文名称,中文名称实例
- linux select 与 阻塞( blocking ) 及非阻塞 (non blocking)实现io多路复用的示例
- mongodb备份oplog_Mongodb 之 oplog进行数据备份恢复
- 数据库死锁的预防与解除
- 从零开始学_JavaScript_系列(五)——dojo(基础,动画移动,重力模拟,动画合并,添加标签)
- wps怎么关闭视图保护_怎么在PPT2013中清除编辑受保护视图功能?
- I love you not because of who you are, but because of who I am when I am with you.
- 2021爱智先行者—记录一次 Spirit 1 和 IoT Pi 开发板的实战经历
- 用友OA漏洞学习——test.jsp SQL注入漏洞
- 博客园屏蔽博文页面广告的方法
- Linux Team