【2】VBA有数据区域最大行号最大行列号 czm4/VBA化纤月报表宏查找空行并作标志 mlh6 = ActiveSheet.UsedRange.Columns.Count '求当前工作表有数据区域的最大列号, Debug.Print mlh6 'Cells(99, 3) = mlh6 mhh6 = ActiveSheet.UsedRange.Rows.Count 'OK! '求行号,得12,当前工作表有数据区域的最大行号,实际为12行 Debug.Print mhh6 '求最大行号、在随后的空行作标记 For n = 1 To 2 Step 1 mhh6c = Range("A1").CurrentRegion.Rows.Count 'Ok!从产量产值表计 Debug.Print mhh6c If mhh6c < mhh6 Then 'If Cells(mhh6 + 1, 1) = "" Then Cells(mhh6c + 1, 1) = "t" & n 'Workbooks(wbN1).Save 'End If End If Next ------ czm3/实际为12行 'mhh6 = ActiveSheet.UsedRange.Rows.Count 'OK! '求得行号,得12,当前工作表最大有数据行实际为12行 'Debug.Print mhh6 'ActiveSheet.Range(Cells(1, 1), Cells(mhh6, mlh6)).Copy '复制range("a1:"mhh6,mlh6") 'Worksheets("s").Range(Cells(1, 1), Cells(mhh6, mlh6)).Copy '复制当前工作表指定区域,即各企业工作簿中S工作表 Czm2)获取行号 maxLine = ActiveSheet.UsedRange.Rows.Count '获取最大的非空单元格所在的行号 maxLineS = "1:" + CStr(maxLine) 'cellRange1.Columns.Count 'OK! '求得列号, 'mlh6 = ActiveSheet.UsedRange.Columns.Count 'OK! '得列号, 'mhh6 = cellRange1.Rows.Count 'OK! '求得行号,得12,当前工作表最大有数据行实际为12行 'mhh6 = ActiveSheet.UsedRange.Rows.Count 'OK! '求得行号,得12,当前工作表最大有数据行实际为12行 czm1) Sub 最后一个非空单元格行列号() a5 = Cells.SpecialCells(xlCellTypeLastCell).Row '得行号,OK!如A列只有A1=a(其余都空时),且G列只有g13=b(其余为空),所得结果a5=13。只认最后一个有数据(非空)单元格的所在行,而不管此非空单元格是在这一行的哪一列。 rh = Cells(Rows.Count, 1).End(3).Row 'OK! '行号,只按A列计 Debug.Print rh 'Ch = Cells(100, Columns.Count).End(3).Row '? 'Debug.Print Ch 'Ch1 = Cells(1, Columns.Count).End(xlToLeft).Column '? ch1 = ActiveSheet.UsedRange.Columns.Count '获取列号,OK! 按非空单元格所在的列计,而不管此非空单元格是在这一列的哪一行。 Debug.Print ch1 Cells(rh + 1, ch1) = 120 End Sub acol=cells(1,columns.count).end(xltoleft).column '得到列数 arow = cells(rows.count,1).end(3).row '得到行数 8)如何获得指定行、列中最后一个非空单元格,其实是踏破铁鞋无觅处 http://baijiahao.baidu.com/s?id=1649906491817896693&wfr=spider&for=pc 7)Excel vba如何取得最后一个非空列的列标 https://zhidao.baidu.com/question/1831152874415605700.html?qbl=relate_question_2&word=vba%BB%F1%C8%A1%D7%EE%BA%F3%D2%BB%B8%F6%B7%C7%BF%D5%B5%A5%D4%AA%B8%F1%B5%C4%D0%D0%BA%C5%BA%CD%C1%D0%BA%C5 cells(1,columns.count).end(xltoleft).column '? mhh = ActiveSheet.UsedRange.Columns.Count 'Ok! 6)VBA找出一列中最后一个非空单元格 ,不行? https://zhidao.baidu.com/question/119229454.html Cells(65536, ColumnNo).End(xlUp).Row Rh1 = Cells(65536, ColumnNo).End(xlUp).Row,不行? Debug.Print Rh1 5)http://club./thread-973079-1-1.html Private Sub CommandButton1_Click() Dim i& i = Val(TextBox1.Text) If i > 0 And i < 65537 Then If Not Intersect(ActiveSheet.UsedRange, Rows(i)) Is Nothing Then Cells(i, Columns.Count).End(xlToLeft).Select Else MsgBox "行号超出了数据区,请重新输入。", vbInformation End If Else MsgBox "行号输入错误,请重新输入。", vbInformation End If End Sub BBS:可以用UsedRange.Columns.Count 4)Excel Cells(Rows.Count,1).End(xlUp).Row的含义。有较详细解释OK! http://www.360doc.com/content/13/0719/16/6973384_301100813.shtml 取活动单元表的第一列最后一个有值的行的下一行行号。 3)http://www.360doc.com/content/12/1214/13/2688461_253988102.shtml a=cells(rows.count,1).end(3).row 'Ok! b=cells(columns.count,1).end(3).row '? 2)请较各位VBA里怎么写选取A列最后一个数据下面的那个空单元格 http://club./thread-932344-1-1.html [a65536].end(xlup).row+1 如将所选粘贴到A列最后一个空的单元格: selection copy range("a"&[a65536].end(xlup).row+1 ) Sub yy() k = Sheets("工作表名").Range("a65535").End(xlUp).Row k = k + 1 Range("a" & k + 1) = "这个就是a列最后一个空格" End Sub 1)excel中使用vba获得当前表格列最后个非空单元格 https://jingyan.baidu.com/article/a3761b2bcbc87f1577f9aa68.html Option Explicit Sub dingwei() Dim rng As Range Set rng = ActiveSheet.Range("a65536").End(xlUp) rng.Activate Set rng = Nothing End Sub 4)VBA中怎样表示整张表格中有数据的最后一个单元格的行和列 https://zhidao.baidu.com/question/404118804.html activesheet.usedrange.specialcells(xlcelltypelastcell).address '运行时424错误 '这是完整地址 .row .column '这两个就是行、列 5)vba如何获取最后一个数值的行号 https://wenda.so.com/q/1363762158069947?src=140 1.对于2003版本,行限制在65536上,可以使用Range("A65536").End(xlUp).Row,当然A列必须有数据, 2007版的行限制大大放宽,要适当变更 2.a5 = Cells.SpecialCells(xlCellTypeLastCell).Row这个方法也是很好用的 http://www./help/soft/Excel/31370.html 6【关联数据无须重复输入,VBA轻松实现重组转换】今日头条极速版 https://www.toutiao.com/a6818345974470017549/ 7)一般在VBA中,我们使用End方法来获取最大行号 https://wenda.so.com/q/1534671670210140 1、此题中,最大行号=cells(rows.count,1).end(3).row 2、意思是从A列最后一个单元格往上找,第一个非空单元格的行号(row) 9/百度知道 https://sa93g4./pages/squestion/squestion?qid=536964864&rid=1355472788&hostname=baiduboxapp&_swebfr=1 lastrow = Worksheets("工作表名称").UsedRange.SpecialCells(xlCellTypeLastCell).Row 10/EXCELVBA区域查找并选择行 https://www.wukong.com/answer/6742286154600546563/ 我知道的如何判断最后一行有3种方法,我现在比较喜欢针对关键列先删除空白行后用usedrange.row.count方法,我把三种方法的代码贴出来,你根据自己的情况选一种用吧。 使用end属性 在ExcelVBA中,使用End(xlUp)查找最后一行是最常使用且最为简单的方法,它假设要有一列总包含有数据(数字、文本和公式等),并且在该列中最后输入数据的单元格的下一行不会包含数据,因此不必担心会覆盖掉已有数据。但该方法有两个缺点: (1) 仅局限于查找指定列的最后一行。 (2) 如果该列中最后一行被隐藏,那么该隐藏行将被视作最后一行。因此,在最后一行被隐藏时,其数据可能会被覆盖。但该列中间的隐藏行不会影响查找的结果。 最底行/最末行/最后一行: MsgBox range("a1").end(xlup).row 或者 MsgBox range("a" & cells.rows.count).end(xlup).row 最右行/最后边一行: MsgBox range("a1").end(xlright).column MsgBox range("a" & celles.columns.count).end(xlleft).column 使用find方法 Find方法在当前工作有数据中进行查找,不需要指定列,也可以确保不会意外地覆盖掉已有数据。其中,参数LookIn指定所查找的类型,有三个常量可供选择,即xlValues、xlFormulas和xlComments。 (1) 常量xlFormulas将包含零值的单元格作为有数据的单元格。(当设置零值不显示时,该单元格看起来为空,但该参数仍将该单元格视为有数据的单元格) (2) 常量xlValues将包含零值的单元格(如果设置零值不显示时)作为空白单元格,此时,若该单元格在最后一行,则Find方法会认为该单元格所在的行为空行,因此,该单元格中的内容可能会被新数据所覆盖。 [注:在Excel中,选择菜单“工具”——“选项”,在打开的“选项”对话框中,选择“视图”选项卡,将其中的“零值”前的复选框取消选中,则工作表中的零值都不会显示] 如果在参数LookIn中使用常量xlValues的话,还存在一个问题是:如果您将最后一行隐藏,则Find方法会认为倒数第二行是最后一行,此时您在最后一行的下一行输入数据,则会将实际的最后一行的数据覆盖。 您可以在隐藏最后一行与不隐藏最后一行,或者是最后一行显示零值与不显示零值时,运行下面的示例代码04,看看所得的结果有什么不同。 '获取最后一行 MsgBox "最后一行是第" & Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlFormulas, SearchDirection:=xlPrevious).EntireRow.Row & “行” 使用usedrange属性 UsedRange方法可用于在工作表中已使用区域查找最后一行,该区域包括可能以前使用过的任何单元格,但现在其中的数据被删除了,比如目前的工作表中只有第1行至第5行共5行,其它行都无数据,但在第6行中有些单元格以前使用过(可能仅仅格式化或内容清除了,总之该行现在不含有数据),那么第6行也包含在该已使用的区域中。此外,如果最后一行被隐藏,那么会将因此,使用该方法查找最后一行是无规律且不可靠的,它通常可能会得到预料不到的结果。 '获取最后一行 MsgBox "最后一行是第" & sheets(“工作表名称”).usedrange.row.count & “行” 【1】ExcelVBA从入门到高手 4.4 获取数据区域最大行号与最大列号,-https://haokan.hao123.com/v?context=%7B%22nid%22%3A%22sv_14404442219053749086%22%2C%22sourceFrom%22%3A%22pc%22%7D&isBdboxShare=1&pd=share |
|
来自: c857084163 > 《offices》