首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

即使excel vba中间有空单元格,也要查找包含在最后一个非空单元格中的值。

在Excel VBA中,如果中间存在空单元格,但我们仍然想要查找最后一个非空单元格中的值,可以使用以下代码:

代码语言:txt
复制
Sub FindLastNonEmptyCell()
    Dim lastRow As Long
    Dim lastColumn As Long
    Dim lastValue As Variant
    
    ' 获取最后一个非空单元格的行号
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    ' 获取最后一个非空单元格的列号
    lastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
    
    ' 获取最后一个非空单元格的值
    lastValue = Cells(lastRow, lastColumn).Value
    
    ' 在Immediate窗口中打印最后一个非空单元格的值
    Debug.Print lastValue
End Sub

这段代码首先使用Cells(Rows.Count, 1).End(xlUp).Row来获取最后一个非空单元格的行号,Cells(1, Columns.Count).End(xlToLeft).Column来获取最后一个非空单元格的列号。然后使用Cells(lastRow, lastColumn).Value获取最后一个非空单元格的值,并将其打印在Immediate窗口中。

这个方法适用于在单个列或单个行中查找最后一个非空单元格的值。如果要在整个工作表中查找最后一个非空单元格的值,可以将Cells替换为ActiveSheet.UsedRange

这个方法可以应用于各种情况,例如在数据处理、报表生成、数据分析等场景中,当我们需要获取最后一个非空单元格的值时,可以使用这个方法。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):提供安全、稳定、低成本、高可扩展的云端存储服务。产品介绍链接
  • 腾讯云云服务器(CVM):提供弹性计算能力,帮助用户快速构建稳定可靠的应用。产品介绍链接
  • 腾讯云数据库MySQL版(TencentDB for MySQL):提供高性能、可扩展、高可用的云数据库服务。产品介绍链接
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,帮助用户连接、管理和分析物联网设备。产品介绍链接
  • 腾讯云移动开发(Mobile):提供移动应用开发和运营的一站式解决方案,包括移动后端云服务、移动推送等。产品介绍链接
  • 腾讯云区块链(Blockchain):提供安全、高效、易用的区块链服务,支持企业级应用场景。产品介绍链接
  • 腾讯云视频处理(VOD):提供视频上传、转码、截图、水印等功能,帮助用户实现视频处理需求。产品介绍链接
  • 腾讯云音视频通信(TRTC):提供高品质、低延迟的音视频通信服务,支持实时音视频通话和互动直播。产品介绍链接
  • 腾讯云云原生应用引擎(Tencent Serverless Framework):提供无服务器架构的云原生应用开发和部署服务。产品介绍链接
  • 腾讯云网络安全(Security):提供全面的网络安全解决方案,包括DDoS防护、Web应用防火墙等。产品介绍链接
  • 腾讯云存储(Cloud Storage):提供安全、可靠、低成本的云端存储服务,适用于各种数据存储需求。产品介绍链接
  • 腾讯云元宇宙(Metaverse):提供虚拟现实(VR)和增强现实(AR)技术支持,帮助用户构建元宇宙应用。产品介绍链接
  • 腾讯云软件测试(Testing):提供全面的软件测试解决方案,包括自动化测试、性能测试等。产品介绍链接
  • 腾讯云服务器运维(Cloud Operation):提供服务器运维服务,帮助用户管理和维护云服务器。产品介绍链接
  • 腾讯云网络通信(Cloud Communication):提供全球覆盖的云通信服务,包括短信、语音、视频通话等。产品介绍链接
  • 腾讯云数据库(TencentDB):提供多种类型的云数据库服务,包括关系型数据库、NoSQL数据库等。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel催化剂开源第14波-VSTO开发之单元格区域转DataTable

Excel开发过程,大部分时候是和Range单元格区域打交道,在VBA开发,大家都知道一点是,不能动不动就去遍历所有单元格,那性能是非常糟糕,很多时候,是需要把整个单元格区域装入数组再作处理...在VSTO开发,难不成还要用VBA这套老掉牙东西来做吗?VBA二维数组在.Net世界,真的一无是处,太多比它好用东西存在,其中笔者最喜欢用是DataTable这样结构化数据结构。...throw new Exception("标题行有空单元格,请检查引用区域首行标题区域是否满足!")...单元格区域加载至DataTable内,然后才是真正VSTO开发,在.Net世界,有了Excel源数据,再经过许多轻松方便轮子功能,快速地实现数据转换,在Excel催化剂中大量使用(因笔者是数据库技术资深玩家...最后,数据在程序内,最终需要返回给用户界面,即Excel单元格区域,又是怎样实现最为合理呢,请继续关注下篇讲解。

1.5K20

Excel实战技巧85:从下拉列表中选择并显示相关图片

在《Excel实战技巧22:在工作表查找图片(使用VBA代码)》,使用VBA代码来达到根据名称显示相应图片效果。本文实现效果相同,实现方法类似,但可能更简单些。...图3 然后,选择单元格区域B3:C10。单击功能区“公式”选项卡“定义名称”组“根据所选内容创建”命令,根据左侧列创建名称,如下图4所示。 ? 图4 这里运用了一个技巧,一次性创建了8个名称。...然而要注意是,名称命名规则,所命名名称不能有空格,因此列B单元格内容不能含有包含空格在内名称不接受字符。...图5 最后,选择单元格E3附近单元格,在列C任选一幅图片粘贴到该单元格,并在公式栏中将该图片名称修改为:=卡通人物照片,如下图6所示。 ? 图6 看看最终效果,如下图7所示。 ?...图7 相关文章: Excel实战技巧15:在工作表查找图片 Excel实战技巧21:在工作表查找图片 Excel实战技巧22:在工作表查找图片(使用VBA代码) 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识

6.3K10

文科生也能学会Excel VBA 宏编程入门

文章目录 VBA宏编程简介 准备工作 打开宏功能 打开“开发工具”选项卡 VBA编程 示例任务介绍 文件宏 全局宏 VBA宏编程简介 VBA编程是Office系列软件自带编程功能,也就是说不只是Excel...准备工作 Excel默认是没有打开宏功能和VBA编程功能,因此需要打开一下。...Loop是Visual Basic循环语句之一,当逻辑条件为真时进入循环,当逻辑条件为假时退出循环。本程序这个循环是为了一行行遍历Sheet1这张表,直到最后一个学生。...这里0和#都是一个代号,0代表即便这一位上没有数字也要显示一个0;#代表这一位如果有数字就显示,没有就不显示;%结尾会自动转成百分比显示,具体可以看Excel帮助或是这个链接:Excel自定义格式。...Sheet2.Range("A2") = maleCtr大家肯定都能猜到了,这是往Sheet2对应单元格里填数。

5.1K20

Excel公式技巧69:查找一个

学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧63:查找最后一行》,我们使用LOOKUP函数公式获取最后一个或该所在行号。...如果列表前面有空,那么如何获取第一个呢? 如下图1所示工作表,在数据列存在一些单元格,且在第一个前面就存在单元格。 ?...图1 输入数组公式: =INDEX(B3:B12,MATCH(FALSE,ISBLANK(B3:B12),0)) 可以获取数据列一个单元格。...公式关键在于: MATCH(FALSE,ISBLANK(B3:B12),0) ISBLANK函数判断区域内是否有空单元格,解析为: MATCH(FALSE, {TRUE;FALSE;TRUE;FALSE...;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE},0) MATCH函数在数组查找一个FALSE位置,即第一个单元格位置,得到: 2 传递给INDEX函数,得到: =INDEX

14.7K30

Excel VBA编程教程(基础一)

VBA 语言在 Office 软件是通用,基本语法和用法都相同。但是每一个软件具有自己独有的对象,例如 Excel单元格对象,Word 有段落对象,PPT 有幻灯片对象。...End If Next i End Sub 以上代码运行后,在 A2:A10 单元格区域,依次判断每一个单元格是否为,如果是,则用上一个单元格填充。...在示例,Cells() 就是一个 Excel VBA 对象,表示一个单元格,提供行号和列号指定单元格。 程序运行结构 接下来是程序结构中最核心部分,也是最有意思部分,程序运行结构。...VBA ,有多种循环结构,本例是 For 循环结构。For 循环结构,第一行指定循环次数,最后一行表示开始下一个循环。...中间等号(=)是 VBA 语言赋值符号,也是能改变单元格填充颜色关键所在。 变量 变量是存储数据一种表达方式。

11.1K22

一批简单Excel VBA编程问题解答

Sales Data工作表所有单元格。 6.如何引用单元格区域内有空单元格? 将Range.SpecialCells方法与xlCellTypeBlanks参数一起使用。...8.公式包含单元格引用A$10,将此公式复制到另一个单元格会怎样? 调整了列引用以反映目标单元格,但行引用保持不变。 9.一个工作表公式如何引用另一个工作表单元格? 通过使用语法工作表名!...单元格引用。 10.Excel如何从文本数据分辨出单元格公式? 所有公式均以字符“=”开头。 11.什么是循环引用? 当一个单元格公式引用另一个单元格时,该单元格直接或间接引用第一个单元格。...12.哪个Excel函数用于计算分期贷款付款? PMT函数。 13.哪个Excel函数将数字格式化为货币格式? DOLLAR函数。 14.是否可以在VBA代码中使用Excel函数?...实际上会调用两个方法:Find方法找到第一个实例;然后使用FindNext方法查找其他实例。 21.如果找不到指定字符串,Find方法返回什么? Nothing。

2.6K20

Range单元格对象常用方法(一)

只是在VBA编程是通过代码形式来运行。 主要结合实例来具体说明。...下面以四个同样单元格演示如下: 删 除 Delete 方 法 删除delete方法也是使用excel常用操作,在excle手工删除时,系统会给如下图提示: 在使用VBA代码删除时,就需要在代码通过参数指定...下面通过举例来具体说明,下面的数据如果A列有空即删除整行。...下面就将循环改成从A1至最后。来分析演示下: 改成从上向下单元格循环后,执行代码结果有一个单元格没有删除掉,通过代码分析下,当i=4时,A4单元格符合条件,这时第4行删除。...(这时结果是原本第5行变成了第4行,为)。而此时代码已经进入下一个循环i=5,判断A5单元格是否为。(新A4单元格但没有被判定。)代码错误就产生了。

1.9K40

Excel: 批量将“假”单元格转换为单元格

要判断一个单元格是否为真正单元格,可以用ISBLANK函数,如判断B3单元格: =ISBLANK(B3) 公式返回TRUE就表明B3单元格为真的单元格,返回FALSE则为“假”单元格。...值得一提是,在Excel查找对话框替换功能无法处理空字符串""。当你尝试使用查找对话框将单元格B3空字符串替换为时,Excel无法识别这个空字符串,因此无法进行替换操作。...方法一: (1)选中包含“假”单元格区域(B2:B7),按快捷键Ctrl+F,打开“查找和替换”,“查找内容”保留为,单击“查找全部”按钮。...(2)按快捷键Ctrl+A,就会全选这些“假”单元格,然后关闭“查找和替换”对话框,按Delete键删除这些“假”单元格内容即可。...方法二(VBA代码): 通过VBA代码也可以将所选区域中“假”单元格转换为真的单元格,假设这些“假”单元格仅包含空字符串。

20310

《Python for Excel》读书笔记连载17:使用读写器进行Excel文件操作(上)

每个使用不同语法(通常与原始Excel对象模型有很大差异)这一事实并没有使它变得更容易——在下一章详细介绍Excel对象模型。这意味着可能需要查找大量命令,即使是经验丰富VBA开发人员。...要获取单元格,需要打开工作簿,其中data_only=True,其默认为False,这将返回单元格公式: 使用OpenPyXL写入 OpenPyXL在内存构建Excel文件,并在调用save...查找颜色十六进制 要在Excel中找到所需颜色十六进制,单击用于更改单元格填充颜色“填充”下拉列表,然后选择“更多颜色”,选择颜色并在“自定义”选项卡读取其十六进制。...下面是一个简单编辑示例: 如果要编写xlsm文件,OpenPyXL必须处理一个需要加载现有文件,并将keep_vba参数设置为True: 示例文件按钮正在调用显示消息框宏。...但它目前也无法通过Conda获得,因此使用pip进行安装: pip install pyxlsb 读取工作表和单元格如下: pyxlsb目前无法识别带有日期单元格,因此必须手动将日期格式单元格转换为

3.7K20

VBA应用技巧:使用VBA快速隐藏工作表行

标签:VBA 使用Excel VBA隐藏行简单方法是使用联合区域。通常,如果要使用VBA快速隐藏行,可以选择自动筛选工具,使用一行代码可快速隐藏数千行。...为一个称为JoinR联合区域引入一个变量,需要检查变量JoinR是否有任何内容。如果它不是,那么希望通过简单添加来增加区域JoinR。...下面的代码检查JoinR是否为: If Not JoinR Is Nothing Then 如果不为,则会将JoinR区域设置为自身加上由r代表单元格,从而在每次遇到“Hide”单元格时,都会增加区域...如果JoinR为单元格等于“Hide”,则将按如下方式为JoinR指定其第一个单元格: Set JoinR = r 其中,JoinR等于r。...现在,JoinR附带了一个可验证区域,上面检查空白范围行将开始并持续添加到联合区域JoinR。 最后,在遍历和If语句完成后,该过程将一次性隐藏联合区域,然后该过程结束。

3.9K30

啰哩啰嗦地讲透VBA引用单元格区域18个有用方法--Range属性

使用Excel时,我们花时间最多就是处理单元格。因此,如果想使用VBA提高Excel工作效率,必须学习如何使用VBA处理单元格。...Excel VBA对象层次结构顶部对象是Application。Application本身包含其他对象。 Range对象包含在Worksheet对象。...特别是,这里并没有指定所引用特定Excel工作簿或工作表。为此,必须理解下面的内容。 从集合引用对象 在VBA,对象集合是一组相关对象。...单元格本身不是一个对象。单元格含在Range对象。 也许更准确地说,单元格一个属性。实际上,可以使用此属性(单元格)来引用单元格区域。上面的示例将Range属性应用于Worksheet对象。...在尝试将赋给合并单元格时,应特别小心。通常,只能通过将赋给区域左上角单元格(上例单元格A1)来执行此操作。否则,ExcelVBA(通常)不会:进行赋值;和返回错误。

5.9K20

Excel VBA解读(143): 在自定义函数中使用整列引用时,如何更有效率?

VBA用户自定义函数处理此问题标准方法是获取整列引用和已使用单元格区域交叉区域,以便用户自定义函数只需处理实际使用整列一部分。...问题是自定义函数会对传递给其每个单元格区域进行检查,即使它不是真正需要。 影响运行时间实际上是包含数据或格式(或以前包含数据或格式)单元格数量,而不是已使用单元格区域中最后一个单元格。...另一种更复杂最小化执行时间方法是将已使用单元格区域内行数存储在某个缓存,并在需要时从缓存检索它。其中最难部分是确保已使用单元格区域行缓存总是为(在这种情况下去获取数字)或包含最新数字。...执行此操作一种方法是使用Application对象AfterCalculate事件(在Excel 2007引入)清空缓存。...然后,只有为每个工作表请求已使用单元格区域一个用户自定义函数使用时间来查找已使用单元格区域,并且(假设计算本身不会改变已使用单元格区域)将总是检索正确数字。

2.8K20

Excel】用公式提取Excel单元格汉字

昨天一个前端朋友找我帮忙用excel提取代码汉字(字符串),可算费了劲儿了,他要提取内容均在单引号,但问题是没有统一规律,同一个单元格可能存在多个要提取内容,而且汉字中间也夹杂其他字符。...所以总结了一下提取汉字几种情况。 一、用公式提取Excel单元格汉字 对于一个混杂各种字母、数字及其他字符和汉字文本字符串,要提取其中汉字,在Excel通常可用下面的公式。...用MATCH函数取得第一个“2”位置,即第一个汉字位置,最后再用MID函数提取汉字。 使用上述公式时要求字符串汉字是连续中间没有其它字符分隔。...= "[^\u4e00-\u9fa5]" '将字符串汉字替换为 提取汉字 = .Replace(sString, "") End With Set regEx = Nothing End Function...返回Excel工作表界面,在B14单元格输入公式: =提取汉字(A14) 即可取得A14单元格字符串所有汉字。 二、用公式提取引号(某2个相同字符)之间内容 ?

6.2K61

VBA专题11:详解UsedRange属性

图1 从上图1可以看到,VBA尝试使用电子表格上数据来计算第一个单元格最后一个单元格,并选择该区域范围内所有内容。...注意,在图1,使用UsedRange属性时,还包括已使用区域范围内任何单元格。...即使它们定义了UsedRange属性返回区域边界,左上角和右下角单元格也可能实际上不包含任何。...例如下图2所示,UsedRange属性返回单元格区域C1:F25,即便该区域四个角上单元格中都没有数据或格式化,以及数据中间还有一个空行。 ?...一旦理解了如何导航UsedRange,使用VBA应用相关属性就会轻而易举:可以一次执行诸如将整个区域更改为粗体之类操作。注意,这样操作对区域中单元格也有效。

7.2K32

精通Excel数组公式14:使用INDEX函数和OFFSET函数创建动态单元格区域

通过指定参数row_num为或0,告诉Excel返回所选列所有行。 同理,想要获取整行,则需要指定参数row_num代表行号,将参数column_num指定为或0。...MATCH:确定数据集中最后一个相对位置 下图2展示了4列不同数据类型:单元格区域A5:A10在最后一项前包含混合数据,其中没有空单元格单元格区域A16:A21在最后一项前包含带有空单元格混合数据...;单元格区域C5:C10在最后一项前包含带有空单元格数字数据;单元格区域C16:C21在最后一项前包含带有空单元格文本数据。...图2:对于不同数据类型查找最后一行 在图2所示公式[2]至[6],展示了一种近似查找技术:当要查找单元格区域中任何都大且执行近似匹配(即MATCH函数第3个参数为)时,将总是获取列表中最后一个相对位置...图4:当有6条记录时查找单元格区域中最后一项 使用INDEX和MATCH函数创建可以扩展和缩小动态单元格区域 如下图5所示,在单元格E2一个数据有效性下拉列表,其内容来源于单元格区域A2:A5,

8.7K11

Excel VBA解读(134): 使用Excel函数提高自定义函数效率

学习Excel技术,关注微信公众号: excelperfect 在上篇文章,我们展示了自定义函数有效方式是通过将单元格区域读取到Variant型数组来传递单元格区域数据。...本文将介绍在自定义函数中最有效方式是使用Excel内置函数。 线性插是一种常用技术,用来查找缺失或者计算两个之间。例如下表: ?...Lookup_value是在单元格区域Table_Array第1列要找,Col_Num是要进行插数据列号索引(本例为2)。...因此,需要添加错误处理和达到数据边界情况处理: 使用On Error来捕捉数字数据 检查要查找是否在表数据范围之外 检查要查找是否是表中最后一个 代码如下: Function VINTERPOLATEC...小结:唯一比将所有数据一次性传递到VBA更快方法是,使用Excel函数且仅传递给该函数所需最少数据。

3K30

简单Excel VBA编程问题解答——完美Excel第183周小结

17.VBA可以识别通用格式日期,例如2020/11/11。在VBA代码,如何表明该是日期? 通过将其括在#字符。 18.哪个VBA函数用于为日期添加间隔? DateAdd函数。...19.哪两个函数用于搜索文本(在另一个字符串查找一个字符串)? InStr函数和InStrRev函数。 20.如何转换字符串,以使每个单词首字母大写,而所有其他字母小写?...23.在VBA程序中使用哪个Excel对象引用工作表单元格区域? Range对象。 24.假设单元格区域引用单个工作表单元格,你如何知道该单元格是否为?...Range对象Value属性返回一个空字符串。 25.Worksheet对象UsedRange属性引用什么? 包含工作表中所有已使用单元格最小单元格区域。 26.如何在单元格添加批注?...完美Excel微信公众号本周内容 在完美Excel公众号,本周推出内容清单如下: 一些基本Excel VBA编程问题,答案来了 Excel小技巧66:快速求和 Excel实战技巧92:快速获取指定目录下所有文件清单

6.6K20

Excel常用函数

=MIN(C3:C4,C7,C10) 6、计数函数COUNT() 获取指定单元格数据数值类型个数,对于单元格、逻辑或者文本数据将被忽略。...可以用来判断是否有空单元格 1、指定数值获取数值个数 =COUNT(1,2) 2、获取指定单元格中非数值个数 =COUNT(C10,F10) 3、指定范围获取数值个数 =COUNT(C10...:C12) 4、指定多个范围单元格获取数值个数 =COUNT(C8,C10,C12,F4:F12) 7、计数函数COUNTA() 统计区域内包含文本和逻辑单元格个数。...要找到其排位数字。 Ref 必需。 数字列表数组,对数字列表引用。 Ref 数字会被忽略。 Order 可选。 一个指定数字排位方式数字。...要找到其排位数字。 Ref 必需。 数字列表数组,对数字列表引用。 Ref 数字会被忽略。 Order 可选。 一个指定数字排位方式数字。

3.5K40
领券