【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.excelhome.net/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.excelhome.net/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.pgygho.com/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.smartapps.cn/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
联系客服