分享

VBA最大行列号2有数据区域

 c857084163 2022-05-02 发布于浙江

【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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多