Excel开发(VBA)— 快速定位最后有记录的行

2023-11-16

  有时候,在进行Excel开发时,需要知道某列的最后一行的行号。Excel也提供了相关功能:Range.End属性。



    Dim strCell As String
    Dim nLastUseRow As Long
    Dim nLastRcdRow As Long

    Dim Rng As Range

    '为最后一个单元格所在行 , 即最后一行,该函数表示Sheet表的使用区域中的最后一行
    nLastUseRow = Cells.SpecialCells(xlCellTypeLastCell).Row


    ' 得到A列单元格的最后一行
    strCell = "A" + CStr(nLastUseRow + 1)
    
    Set Rng = Range(strCell).End(xlUp)

    nLastRcdRow = Rng.Row' 得到行号




需要说明的是:Cells.SpecialCells(xlCellTypeLastCell).Row 指的是使用区域最后一行,并不是最后有文本单元格的一行。

比如:开始我用了100行,随后我又删除了50行,则Cells.SpecialCells(xlCellTypeLastCell).Row = 100。

当然,如果你保存了文件,Cells.SpecialCells(xlCellTypeLastCell).Row = 50 了。


所以,可以通过联合Range.End属性实现快速定位到最后一个单元格上。


具体帮助说明:(Excel Help)

返回一个  Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。 Range 对象,只读。

语法

表达式.End(Direction)

表达式   一个代表 Range 对象的变量。

参数

名称 必选/可选 数据类型 描述
Direction 必选 XlDirection 所要移至的方向。

示例

本示例选定包含单元格 B4 的区域中 B 列顶端的单元格。

Visual Basic for Applications
Range("B4").End(xlUp).Select

本示例选定包含单元格 B4 的区域中第 4 行尾端的单元格。

Visual Basic for Applications
Range("B4").End(xlToRight).Select

本示例将选定区域从单元格 B4 延伸至第四行最后一个包含数据的单元格。

Visual Basic for Applications
Worksheets("Sheet1").Activate
Range("B4", Range("B4").End(xlToRight)).Select

指定移动的方向。

版本信息
 已添加版本:
  Excel 2007

                 名称                            值                     描   述                
xlDown -4121 向下。
xlToLeft -4159 向左。
xlToRight -4161 向右。
xlUp -4162 向上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel开发(VBA)— 快速定位最后有记录的行 的相关文章

  • Excel VBA - 循环文件夹中的文件、复制范围、粘贴到此工作簿中

    我有 500 个包含数据的 Excel 文件 我会将所有这些数据合并到一个文件中 实现此目标的任务列表 我想循环遍历文件夹中的所有文件 打开文件 复制此范围 B3 I102 将其粘贴到活动工作簿的第一张工作表中 重复但在下面粘贴新数据 我已
  • 更改索引设置访问 VBA

    我正在尝试自动化 Access 中的流程 我希望自动化的步骤之一是更改表中某些字段的索引设置 我需要这样做来提高后续查询的速度 使用索引查询速度大约快 100 倍 无论如何 假设我的表名为 Cars 如下所示 ID Name Charact
  • 双击打开 Excel 工作簿时,Excel 2010 AddIn 未加载

    我为 Excel 2010 编写了一个加载项 如果我从 开始 菜单打开 Excel 它可以正常工作 但是 如果我双击 Excel 工作簿 则无法加载 AddIn 我签入了ThisAddIn cs 方法InternalStartup 没有参与
  • 如何用xlrd读取公式

    我正在尝试做一个解析器 它读取几个 Excel 文件 我通常需要位于行底部的值 您可以在其中找到所有上部元素的总和 因此 单元格值实际上是 sum 或 A5 0 5 可以说 对于使用 Excel 打开此文件的用户来说 它看起来像一个数字 这
  • VBA rand 如何使用上限和下限生成随机数?

    所以也许这是多余的 也许这就像问为什么大多数人生来就有 5 个手指 最后的简短答案总是 因为事情就是这样 而且它就是这样工作的 但我讨厌这个答案 该死的我想知道怎么做VBA 中的 Rnd 函数有效 Ms Office Excel 的 MSD
  • 如何计算文件中单词的长度?爪哇

    我正在尝试编写一个代码来计算文件中特定长度的单词数 例如 How are you 会打印 Proportion of 3 letter words 100 3 words 我想计算长度为 1 2 3 4 5 6 7 8 9 10 11 12
  • 如何将 Pandas Dataframe 中的字符串转换为字符列表或数组?

    我有一个名为的数据框data 其中一列包含字符串 我想从字符串中提取字符 因为我的目标是对它们进行一次性编码并使之可用于分类 包含字符串的列存储在预测因子如下 predictors pd DataFrame data columns Seq
  • 如果字符串包含列表中的单词,则返回与列表值相邻的值

    目前我有一组单元格 每个单元格在无用的信息中都有一个唯一的标识符 我还有这些唯一标识符的列表 以及每个标识符对应的值 我想做的是找到一个单元格包含哪个标识符 如果有的话 然后输出相应的值 下面是一个例子 https i stack imgu
  • 为什么 Haskell 的默认字符串实现是一个字符链接列表?

    Haskell 默认值的事实String众所周知 实现在速度和内存方面都效率不高 据我所知 lists一般来说 在 Haskell 中实现为单链表 并且适用于大多数小型 简单数据类型 例如Int 这似乎不是一个好主意 但是对于String这
  • Excel如何获取一个时间间隔内的小时数?

    我有两列 Night shift start 19 00 Night end 04 00 我每天都有一些日期列 Work started 07 30 Worked ended 22 00 我想获取夜班开始和夜班结束之间的小数小时数 我需要计
  • 在 PowerPoint 中查找文本并替换为 Excel 单元格中的文本

    我正在尝试查找 PowerPoint 幻灯片中的单词列表并将其替换为 Excel 文件中单元格中的值 我在 PowerPoint 中运行 VBA 但出现此错误 运行时错误 2147024809 80070057 指定的值超出范围 代码似乎停
  • 基于非零的多维数组

    我正在使用以下命令从电子表格中提取单元格Interopt ExcelAPI 当我打电话时 object rangeValues object range get Value XlRangeValueDataType xlRangeValue
  • 如何查找给定字符串中仅出现一次的第一个字符[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 copyfromrecordset 写入范围

    我有以下 vba 它从单元格 C10 开始读取 MCO 直到其为空 并将从 SQL 数据库获取机器数量 解密和升级机器数量 这工作正常 但我在获取相应行中的数据时遇到问题 目前它总是将数据写入 D10 因为我已经对其进行了硬编码 但我不确定
  • 如何将 Python 字典序列化为字符串,然后再序列化回字典?

    如何将 Python 字典序列化为字符串 然后再序列化回字典 字典中将包含列表和其他字典 这取决于您想用它做什么 如果您只是想保存它 您应该使用pickle https docs python org 3 library pickle ht
  • 通过删除连续的重复项来减少字符串长度

    我有一个包含 2 个字段的 R 数据框 ID WORD 1 AAAAABBBBB 2 ABCAAABBBDDD 3 我想通过仅保留字母而不是重复中的重复项来简化具有重复字母的单词 e g AAAAABBBBB应该给我AB and ABCAA
  • schema.ini 文件不适用于 MS Access

    我有一堆 csv 文件 我通过 VBA 将它们导入到 Access 中的表中 我在与导入的 csv 文件相同的目录中还有一个 schema ini 文件 尽管在 ini 文件中字段被指定为双精度类型 但它们在 Access 中会转换为文本类
  • 液体字符串中的转义字符

    我正在尝试将包含各种尺寸的标签列表放在一起 在 Shopify 中使用 Liquid 尺寸使用单引号和双引号表示英寸和英尺 因为它同时使用两者 所以会导致字符串正确关闭的问题 我尝试过使用标准转义字符 但这似乎不起作用 是否可以在 Liqu
  • PHP 中的多行字符串文字

    考虑 xml l xml vv echo xml 这将回响vv 为什么以及如何为诸如此类的事情执行多行字符串文字简单XML https en wikipedia org wiki SimpleXML etc Well xml l vv Wo
  • 如何在 C++ 中对静态缓冲区执行字符串格式化?

    我正在处理一段对性能要求非常高的代码 我需要执行一些格式化的字符串操作 但我试图避免内存分配 甚至是内部库的内存分配 在过去 我会做类似以下的事情 假设是 C 11 constexpr int BUFFER SIZE 200 char bu

随机推荐

  • JDBC——BasicDAO

    为什么要有 BasicDAO apache dbutils Druid 简化了 JDBC 开发 但还有不足 SQL语句是固定 不能通过参数传入 通用性不好 需要进行改进 更方便执行增删改查 对于 select 操作 如果有返回值 返回类型不
  • Putty配色方案(转)

    平时用Putty的频率相对挺高的 每次装完系统或是怎么的都得重新配色 还得百度去找配色表 每次太麻烦了 特地转载一篇好看的配色表供以后长期使用 以下内容为转载内容 使用的是修改注册表的方法 1 打开注册表 运行 regedit 2 找到对应
  • matlab仿真实例100题_输入-输出反馈线性化(Feedback linearization)控制算法Matlab仿真实例...

    反馈线性化 Feedback linearization 可能是大部分人接触非线性控制之后学习的第一种控制方法 个人认为主要优点有两点 一 它的理解和实现都相对简单 二 它能让非线性系统的转换为线性系统 这样接下来 就可以直接套用线性系统中
  • SQLEXPRESS服务无法启动

    一 软件版本 SQL Sever2014 localdb MSSQLLocalDB SQLServer13 0 VS2015 二 问题描述 由于使用web API中的odata编程 在工程中使用的是 localdb MSSQLLocalDB
  • Lintcode 464. 整数排序 II 冒泡排序三种实现 直接插入排序 直接选择排序 java

    一 冒泡排序 实现思路 https blog csdn net morewindows article details 6657829 Lintcode https www lintcode com problem sort integer
  • Ubuntu下安装及卸载JDK

    安装 1 添加 PPA repository 到系统 sudo add apt repository ppa webupd8team java 2 更新 sudo apt get update 3 下载安装 JDK sudo apt get
  • 算法专题之二叉树

    前言 树型数据结构广泛存在于现实世界中 比如家族族谱 企业职能架构等 它是一类在计算机领域被广泛应用的非线性数据结构 二叉树是树型数据中最常用的一类 本文从前端角度以js语法构建和操作二叉树的相关知识 基础概念 观察上图 二叉树的数据结构如
  • C++——大数加法

    大数加法 即运算的数据可能很大 int long long long无法存放 存在字符串中 但是加法的运算规则还是10进制 对于两个字符串 首先判断两者的长度 我们将字符串s设置为较长的字符串 方便后面的运算 也可以将t设置为较长的 从低位
  • 一文2000字详细介绍Android APP 常见概念与 adb 命令

    01 背景 因 team 正在推进 APP 自动化测试 那么主要业务是 IoT 相关的产品 既然是 APP 自动化测试 那么 Android APP 相关的一些概念与知识就很关键了 在之前遇到相关的问题都是现查现用 对于一些常用的概念和命令
  • 【Redis】常见数据结构及命令

    Redis常见命令 Redis数据结构介绍 Redis是一个key value的数据库 key一般是String类型 但是value的类型有很多种 Redis 通用命令 通用指令是部分数据类型的 都可以使用的指令 常见的有 KEYS 查看符
  • C++实现英语词典

    需要的东西 1 一个词典的txt文件 2 创建map容器 map
  • 最小二乘支持向量机”在学习偏微分方程 (PDE) 解方面的应用(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本代码说明了 最小二乘支持向量机 在学习偏
  • 多媒体(视频容量计算)-软件设计(四十二)

    真题详解 有向图 软件设计 四十一 https blog csdn net ke1ying article details 129942490 一 音频概念 声音带宽 人耳 20Hz 20KHz 说话300 3400Hz 小于20Hz次声波
  • 上海链节科技:什么是企业链改?

    如何定义链改 链改 即用区块链中的部分技术原理和机制来改造业务系统中特定的部分 以创造更高效 更有公信力的系统 甚至还包括利用区块链上的各类积分 Token通证 来重新分配业务系统进而间接的改进业务系统背后的生产关系 传统基本结构的公司 通
  • 从IDataReaderHelper中读取数据实体

    using System using System Collections Generic using System Linq using System Text using System Data using System Reflect
  • 截取oracle字符串中的数字(转载)

    截取oracle字符串中的数字 云淡风轻博客 博客园 cnblogs com 方法一 如果Oracle版本不是太低的话 使用 正则表达式函数 REGEXP SUBSTR 处理 REGEXP SUBSTR有5个参数 分别是 第一个是输入的字符
  • GMAPPING的参数设置

    二 运行gmapping 我总结了运行gmapping的两种方法 1 基于命令行 rosrun gmapping slam gmapping scan scan delta 0 1 maxUrange 4 99 xmin 5 0 ymin
  • python必背代码-Python高手必修课:如何让 Python 代码更易读,推荐收藏

    阅读本文大概需要 10 分钟 我们知道 Python 是一种动态语言 在声明一个变量时我们不需要显式地声明它的类型 例如下面的例子 a 2 print 1 a 1 a 运行结果 1 a 3 这里我们首先声明了一个变量 a 并将其赋值为了 2
  • 【深入理解C++】string

    文章目录 1 概述 2 string的定义与初始化 3 string的赋值 4 string的读写 5 string的长度 6 string的遍历 6 1 运算符 6 2 at 6 3 迭代器 6 4 范围for 7 string 与 ch
  • Excel开发(VBA)— 快速定位最后有记录的行

    有时候 在进行Excel开发时 需要知道某列的最后一行的行号 Excel也提供了相关功能 Range End属性 Dim strCell As String Dim nLastUseRow As Long Dim nLastRcdRow A