精华内容
下载资源
问答
  • Excel VBA获取最后一

    万次阅读 2015-11-04 21:17:31
    VBA代码: Function getLastRow()  Debug.Print "End(xlUp):" & Sheets(1).[A65536].End(xlUp).Row  Debug.Print "usedRange:" & ActiveSheet.UsedRange.Rows.Count  Debug.Print "find
     
    

    测试excel文件:

     

     

    VBA代码:

    Function getLastRow()

        Debug.Print "End(xlUp):" & Sheets(1).[A65536].End(xlUp).Row

        Debug.Print "usedRange:" & ActiveSheet.UsedRange.Rows.Count

        Debug.Print "find * :" & ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

        Debug.Print "xlCellTypeLastCell: " & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

    End Function

     

     

     

    运行结果:

    End(xlUp):9

    usedRange:16

    find * :10

    xlCellTypeLastCell: 16

     

    结论(几种方式的比较):

    方法1ActiveSheet.Range("A65535").End(xlUp).Row

    1. 只能取得对应列的最后一行(本例是A列)。

    2. 高低版本不兼容,2007版最大行数增加以后,就不能用65536了,而要用1048576

    可以先判断再决定用哪个数字,即用下列语句代替原来的一句,假定文件名变量为rptfile

            If Right(rptfile, 3) = "xls" Then

                maxrow = [A65536].End(xlUp).Row

            Else

                maxrow = [A1048576].End(xlUp).Row

            End If

     

    方法2ActiveSheet.UsedRange.Rows.Count

    1. 即使行仅仅设置了格式,没有内容,也被算成最后一行。

    2. 在工作表进行对删除或清除操作时也会变得比实际情况大。

     

    方法3ActiveSheet.Cells.Find

    1. 只计算有内容的行,没有格式的行不计算。

     

    方法4ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

       效果同方法2

      

     

    获取最后一行/列代码示例:

    Function getLastRow()

        Debug.Print "End(xlUp):" & Sheets(1).[A65536].End(xlUp).Row

        Debug.Print "usedRange:" & ActiveSheet.UsedRange.Rows.Count

        Debug.Print "find * :" & ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

        Debug.Print "xlCellTypeLastCell: " & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

    End Function

     

    Function getLastCol()

        Debug.Print "End(xlToLeft):" & ActiveSheet.Range("IV1").End(xlToLeft).Column

        Debug.Print "usedRange:" & ActiveSheet.UsedRange.Columns.Count

        Debug.Print "find * :" & ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

        Debug.Print "xlCellTypeLastCell: " & ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column

    End Function

    展开全文
  • 利用End属性获取数据区域的最后一行行号 ...利用End属性获取数据区域的最后一列列标 FinalColumn = Range("XFD2").End(xlToLeft).Column 利用End属性获取数据区域的最前一列列标 FirstColumn = Range("A2").End(xlTo
    • 利用End属性获取数据区域的最后一行行号
    FinalRow = Range("A1048576").End(xlUp).Row
    • 利用End属性获取数据区域的最前一行行号
    FirstRow = Range("A1").End(xlDown).Row
    • 利用End属性获取数据区域的最后一列列标
    FinalColumn = Range("XFD2").End(xlToLeft).Column
    • 利用End属性获取数据区域的最前一列列标
    FirstColumn = Range("A2").End(xlToRight).Column

     

    展开全文
  • Excel VBA判断最后一行/

    千次阅读 2017-11-14 15:20:00
    判断到哪里结束应该是Excel VBA最常见的操作之,下面代码能实现这个功能: FunctionLastColumn()AsLong DimixAsLong ix=ActiveSheet.UsedRange.Column-1+ActiveSheet.UsedRange.Columns.Co...

    判断到哪里结束应该是Excel VBA最常见的操作之一,下面代码能实现这个功能:

     

     
      
    1. Function LastColumn() As Long     
    2.     Dim ix As Long 
    3.     ix = ActiveSheet.UsedRange.Column - 1 + ActiveSheet.UsedRange.Columns.Count 
    4.     LastColumn = ix   
    5. End Function 
    6.  
    7.  
    8. Function LastRow() As Long 
    9.     Dim ix As Long 
    10.     ix = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count 
    11.     LastRow = ix 
    12. End Function 









    本文转自 h2appy  51CTO博客,原文链接:http://blog.51cto.com/h2appy/825128,如需转载请自行联系原作者
    展开全文
  • 获取指定行列最后一个非空单元格 1、到达对象所在区域的边缘 在“A1:H16”的数据中,如何一步到达单元格所在行的最下、上、左、右端,有以下几种方式: 【Crtl】+↑:到达该数据的最上端单元格,其余箭头功能类似...

    获取指定行列最后一个非空单元格

    1、到达对象所在区域的边缘

    在“A1:H16”的数据中,如何一步到达单元格所在行的最下、上、左、右端,有以下几种方式:

    • 【Crtl】+↑:到达该列数据的最上端单元格,其余箭头功能类似。
    • 将鼠标点在所选中单元格上边框出,待鼠标形状显示为四周带箭头形状时双击即可到达最上端。
    • 使用VBA中的End属性。
    Sub test1()
        Sheet1.Range("a1").End(xlDown).Select '选中该数据源中第一列最下面一个单元格
        Sheet1.Range("a3").End(xlUp).Select '选中该数据源中第一列最上面一个单元格
    End Sub
    

    2、选中数据的最下面单元格

    上面已经介绍了一种方法,即用end(xldown)进行选择,但是在实际工作中,可能出现第一列中间某一行没有数据的现象,此时将会定位到空白处而不是最后一行,此时可以逆向思维考虑,从下向上进行选择。

    Sub test2()
        Sheet1.Range("a1048576").End(xlUp).Select '1048576为Excel中最大的行数,当然只要数足够大即可
    End Sub
    
    展开全文
  • Find方法按行查找和按查找的区别 实现代码2 获取工作表总行数 实现代码3 单元格对象的End属性 End属性的局限性 其他获取最后数据行行号的方法 1.定位(SpeciaICells) 2.UsedRange 实现代码4 3. ...
  • Excel VBA求某列最后一行非空行号

    万次阅读 2016-11-28 00:06:50
    "Cells(Rows.Count, 1)"表示是查找A列最后一个非空单元格,按的可以改成"Cells(1, Columns.count)" "end(3)"表示的向上查找,也可以写成“end(xlup)”,还有其他3个方向,向下,向左,向右:xldown,xltoleft,...
  • SubCheckNum() iCount=0 iRow=ActiveSheet.Range("s65535").End(xlUp).Row'取最后一行 iCol=ActiveSheet.Range("dz2").End(xlToLeft).Column'取最后一列 MsgBox"i...
  • 使用Excel VBA查找最后一

    千次阅读 2020-08-05 10:21:51
    使用Excel VBA查找最后一行 (Find Last Row With Excel VBA) Recently, I complained about having trouble getting Excel VBA to correctly find the last row with data in a column, when using Excel tables....
  • 在Excel中,经常需要得知某列最后一个非空单元格的行号,以确定数据的数量。编写自定义函数以实时计算某单元格所在的最后非空单元格的行号。 员工编号 姓名 部门 0114 俞卫广 总经办 0374 ...
  • [方法] ActiveSheet.Range(“A” & Rows.Count).End (xlUp).Row [方法二] ActiveSheet.Range(“a1048576”).End(xlUp).Row ActiveSheet.Range(“a65536”).End(xlUp).Row [方法三] ActiveSheet.Cells(Rows....
  • VBA取某一列所使用的单元格数

    千次阅读 2017-01-04 13:15:06
    Debug.Print Worksheets(1).[A65536].End(xlUp).Row ...功能是返回个 Range 对象,该对象代表包含源区域的区域尾端的单元格。等同于按键 End+ 向上键、End+ 向下键、End+ 向左键或 End+ 向右键。Range 对象,只读。
  • 获取某个sheet表最后一行的行号,对于使用vba进行循环查找是必经的过程: 通过我最近的学习发现2中方法进行使用,现在分享如下: 如下表格示例: 方法一: Public Sub test() Dim lastRow As Long lastRow =...
  • 假如某一列包含多种重复单元,但是重复的单元对应的其它列却不相同,需求便是指定某一列,寻找其中相同的元素,对两行元素进行合并。如下图所示的源数据, 可以看到,该Excel表格的A列有很多重复项,对他们进行合并...
  • word、wps中使用vba删除所有表格指定 处理word表格搞得人头大,找时间百度波写了个函数处理标记删除的问题,根据这一套逻辑还可以实现很多功能,供各位参考。 要点: 双循环遍历所有表表头 InStr函数匹配具体...
  • =LOOKUP(1,0/(E18:W18<>""),E18:W18) Current是效果图
  • 前几天放假回家,父亲让我写一个可以对EXCEL进行操作的小demo:通过某一列的值寻找该值所在行的所有内容,且复制到另一张表中。 感觉很简单,就答应了 考虑到电脑环境、操作性、简易性等。我决定用VBA来写。毕竟是...
  • '获取总数 MsgBox ActiveSheet.Range("IV1").End(xlToLeft).Column '获取单元格列号 MsgBox Range("AE1").Column '求和 Cells(2189, 33).Formula = Application.Sum(Range(Cells(901, 33), Cells(902, 33)...
  • 前言:因为考虑数据量的问题,所以在计算季度数据的时候,做了个辅助“季度累计数(至上月)”,...所以用vba写了段脚本,自动做上述工作,只需要确定好从什么名字的复制到什么名字的即可 Sub 季度数据...
  • VB编辑器,在N1所在后边添加数据  ### 特别注意r是对象  sub demo()  dim r as range    If Cells(i, 58) = 0 Then      Set r = Sheets("改动表").Range("N1", Sheets("改动...
  • VBA删除表格最后一

    2016-04-18 10:27:00
    Sub 删除最后一行() If MsgBox("要为所有表格添加吗?", vbYesNo + vbQuestion) = vbYes Then For i = 1 To ActiveDocument.Tables.Count ActiveDocument.Tables(i).Rows.Last.Delete Next MsgBox ("完成") ...
  • VBA 获取最大行数和最大

    万次阅读 2020-01-12 09:19:29
    在EXCEL中,对数据进行定位操作,必然要用到数据区域的最大行和最大,代码如下: columnmax = Range("IV1").End(xlToLeft).Column '取得1行的最大数 columnmax =cells(i,columns.count).end(xltoletf).column 'i行...
  • VBA对Excel文件进行处理的时候,关键字段的号编程时往往是不知道的,需要通过参数设定才能知道,因此,我们编程的时候,就不能用这样的语句取有效行数: lineno = [B65536].End(xlUp).Row  上述语句中的列名“B...
  • VBA取得EXCEL表格中的行数和

    千次阅读 2019-07-25 15:50:41
    VBA取得EXCEL表格中的行数和数 请注意不要使用Columus等关键字作为变量,例如"Columus = ActiveSheet.UsedRange.Columns.Count"! 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和数,尤其是行数和数...
  • 暂时只实现了删除一列中的空行,并没有实现多行的判断空行和删除方法。----之后再做更复杂的 1.1需求分析 用VBA删除如下内容,解决思路都不同 删除1列的空行(本文要做的) 删除整个区域内的空行 删除整个...
  • 使用下列算法可以实现“ConvertToLetter”功能: 号除以 27,然后将得到的整数赋值给变量“i”。号减去 i*26,然后将所得结果赋值给变量“j”。将得到的整数值转换为其对应的字母字符...i = 1下号 - (i ...
  • 问题 左上角为a1 比如其中,key2 ,key4, key6 后面都可能带空格 key1 key2 key3 key4 key5 key6 key7 key8 key9 key10 key11 key12 key10 key10 ...VBA方法 所有的工...
  • Function getlastcell(mysheet As String, Optional startrow As Integer) As Integer Sheets(mysheet).Select rowcountinu = False If startrow = 0 Then startrow = 2 End If For i = startrow To st...
  • Sub isColInfo(sheet As Worksheet) Dim LastRow As Integer ... arrCol = Array("C", "D", "E") '等下需要遍历、修改C、D、E,并修改这几列除加粗文字(表头)外的文字对齐方式 For k = 0 To UBound(arrCol) ...
  • vba中,对单元格进行操作,经常需要知道单元格所在的行或.可用以下方法获取: 、单元格的行标和标 set C=range("A1") c.row 得行号, c.column 得号 二、号转字母 ‘将1,2,3,....转为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,720
精华内容 1,888
关键字:

vba最后一列