我们都知道, 一个表格里有很多个单元格. 由前面可知,我们要往一个单元格里写入数据,首先就要获得这个单元格的引用. 这样程序才知道在哪里写入数据. 

比如我们要往单元格 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 往多行写入数据相关推荐

  1. WPS表格使用VBA往SQLServer中写入数据

    WPS表格使用VBA往SQLServer中写入数据 此代码在WPS表格中运行正常,office Excel中没有测试过,用的都是WPS所以- 需要提前安装WPS VBA插件否则无法运行. A1处如果去 ...

  2. 如何在 Excel VBA 中插入行

    在本文中,我将解释如何使用VBA(Visual Basic for Applications)在Excel中插入行.VBA 是一种编程语言,适用于在Excel和其他Office程序中工作的人员,因此可 ...

  3. NPOI读取Excel模板并向其中写入数据

    HSSFWorkbook hssfworkbookDown;//读入刚复制的要导出的excel文件 using (FileStream file = new FileStream(modelExlPa ...

  4. EXCEL VBA 使用正则表达式清洗替换数据

    在EXCEL表内遇到有规律性的数据需要提取或者替换时,比如在数据中提取时间,身份证号码等,EXCEL内自带的查找替换就难以实现,我们可以利用VBA适用正则表达式去对数据进行匹配. 什么是正则表达式? ...

  5. c++在txt中每行写入数据和每行输出

    <span style="font-size:18px;">#include<iostream> #include<fstream> #incl ...

  6. Excel VBA 指定区域内的数据 导出为图片

    Sub ExportChart()     Application.ScreenUpdating = False          Dim ChartPath As String     Dim ra ...

  7. Excel vba开发 合并单元格拆分自动填充功能、在每一条数据后面插入空白行、将地理坐标的经纬度转换成度等功能

    写在前面: 最近老大丢给我一个数据量比较大,比较复杂的表,让我用VB去处理,刚被分到这个任务的时候一脸茫然,对Excel VB开发一点都不了解,所以就自己研究并查资料,最后终于解决了. 一.Excel ...

  8. js向excel写入数据的案例

    要在 JavaScript 中向 Excel 写入数据,您可以使用第三方库来实现.其中一种可行的方法是使用 SheetJS 库.它是一个开源库,可以在浏览器中读写 Excel 文件. 以下是一个简单的 ...

  9. vba 用adodb连接mysql_【VBA研究】Excel VBA利用ADODB访问数据库使用小结

    [转自] http://blog.csdn.net/iamlaosong/article/details/18043433 作者:iamlaosong ▲连接Oracle数据库 Set cnn = C ...

最新文章

  1. 福利 | 学习超级用户运营,都来U-Time六城巡回沙龙”!
  2. 大型系统OA--技术
  3. Leetcode 剑指 Offer 58 - II. 左旋转字符串 (每日一题 20210830)
  4. python把图片另存为_pycharm sciview的图片另存为操作
  5. 坚果云feodra(linux)启动失败
  6. 人是不是不应该善良?
  7. 查看SQL Server被锁的表以及如何解锁【转】
  8. 微星刀锋 无法进入bios_只需一键!内存性能免费提升150%!微星AMDB550超频
  9. 最优矩阵链乘(动态规划)
  10. Java根据国家二字码获取国家英文名称,中文名称实例
  11. linux select 与 阻塞( blocking ) 及非阻塞 (non blocking)实现io多路复用的示例
  12. mongodb备份oplog_Mongodb 之 oplog进行数据备份恢复
  13. 数据库死锁的预防与解除
  14. 从零开始学_JavaScript_系列(五)——dojo(基础,动画移动,重力模拟,动画合并,添加标签)
  15. wps怎么关闭视图保护_怎么在PPT2013中清除编辑受保护视图功能?
  16. I love you not because of who you are, but because of who I am when I am with you.
  17. 2021爱智先行者—记录一次 Spirit 1 和 IoT Pi 开发板的实战经历
  18. 用友OA漏洞学习——test.jsp SQL注入漏洞
  19. 博客园屏蔽博文页面广告的方法
  20. Linux Team

热门文章

  1. 7-6 打印九九口诀表 (10 分)
  2. NLP错别字识别(附代码和模型和服务,可在线测试)
  3. 同步电机相间互感推导
  4. FPGA的三种配置方式
  5. 无偏估计和有偏估计的理解
  6. 论语.八佾之绘事后素
  7. 试论我国农村剩余劳动力的转移
  8. 操作系统2022简答8选4
  9. 二手图书交易网站-图书发布图书购买评价购物车-计算机毕业设计基于javaWebSSMspringboot框架idea开发工具asp.net和PHP
  10. 最新好玩的神乐七奈桌面宠物+附带BGM音效