我在A列中有数据:I。 A列中的数据将始终显示到最后一行,但其他列中的其他行有时会为空。如何根据A列的最后一行选择范围?例如,有时列A将有40行数据,但列I将在第3行后为空。我仍然想要选择A1:I40。
最终,我想使用VBA格式化并在此范围内放置一个过滤器,所以我希望在A列中最后一次使用的行之后不要包含任何空白行。
答案 0 :(得分:0)
考虑:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p><span class="subrayado">Lorem ipsum dolor sit amet</span>, consectetur adipiscing elit. Curabitur ultricies ultrices enim in condimentum. Nullam sollicitudin varius enim sit amet rutrum. Nam consequat vitae dolor eu pharetra. <span class="subrayado">Morbi vestibulum felis tristique velit</span> varius maximus. Sed venenatis, velit fringilla viverra dictum, magna quam faucibus est, sed congue augue enim a sem. Cras ut tristique enim. Quisque aliquam risus vitae erat lacinia venenatis. </p>
HOW IT MUST BEE
<p><span class="subrayado">Lorem ipsum dolor sit amet</span>, consectetur adipiscing elit. Curabitur ultricies ultrices enim in condimentum. Nullam sollicitudin varius enim sit amet rutrum. Nam consequat vitae dolor eu pharetra. <span class="subrayado">Morbi vestibulum </span><span class="subrayado">felis tristique velit</span> varius maximus. Sed venenatis, velit fringilla viverra dictum, magna quam faucibus est, sed congue augue enim a sem. Cras ut tristique enim. Quisque aliquam risus vitae erat lacinia venenatis. </p>
答案 1 :(得分:0)
加里的学生给了你答案
也许你有兴趣扩展这个功能,并且想要考虑整个列范围内至少有一个非空白单元格的最后一行(在你的例子中是“A:I”列),不管哪个列有它,比你可以使用:
Function LastRow(sht As Worksheet, columnsStrng As String) As Long
With sht
With Intersect(.UsedRange, .columns(columnsStrng)).SpecialCells(xlCellTypeConstants)
LastRow = .Areas(.Areas.Count).Row
End With
End With
End Function
以下是如何使用它的示例
Option Explicit
Sub main()
Dim ws As Worksheet
Set ws = Worksheets("mysheet1")
ws.columns("A:I").Resize(LastRow(ws, "A:I")).Select
End Sub
这假设您的数据是常量(即实际单元格内容不是“公式”)。 但是可以很容易地增强它以考虑“公式”数据