根据A列

时间:2016-06-21 12:13:51

标签: excel vba

我在A列中有数据:I。 A列中的数据将始终显示到最后一行,但其他列中的其他行有时会为空。如何根据A列的最后一行选择范围?例如,有时列A将有40行数据,但列I将在第3行后为空。我仍然想要选择A1:I40。

最终,我想使用VBA格式化并在此范围内放置一个过滤器,所以我希望在A列中最后一次使用的行之后不要包含任何空白行。

2 个答案:

答案 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

这假设您的数据是常量(即实际单元格内容不是“公式”)。 但是可以很容易地增强它以考虑“公式”数据