excel - 仅选择包含两列之间数据的单元格

标签 excel vba

我正在寻找一种仅选择包含 之间数据的单元格的方法。两个 列。我无法理解完成此操作所需的逻辑。

我认为这是我最好的选择,但我愿意接受其他建议。

Sheet1.Columns("A3:B1000").SpecialCells(xlCellTypeConstants, 23).Select

使用此代码,我可以选择包含值的范围,但是它不能在两列之间同时工作。如果 A 列有数据但 B 列没有,它仍然会选择 A 列。

下面是我想要做的。

Example

最佳答案

以下代码将通过过滤任何空白单元格然后选择所有可见单元格来满足您的期望,例如,我使用了 A 列和 B 列,根据需要进行修改。

注意:我同意 CallumDA 的评论,您通常希望避免选择任何内容,但是下面的示例代码将向您展示如何将给定的范围添加到变量中,如果您想对它做某事,而不仅仅是选择它。

Sub foo()
    Dim ws As Worksheet: Set ws = Sheets("Sheet1")
    'declare and set your worksheet, amend as required
    Lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    'get the last row with data on Column A
    Dim rng As Range
    ws.Range("$A$1:$B$" & Lastrow).AutoFilter Field:=1, Criteria1:="<>"
    ws.Range("$A$1:$B$" & Lastrow).AutoFilter Field:=2, Criteria1:="<>"
    Set rng = ws.Range("A2:B" & Lastrow).SpecialCells(xlCellTypeVisible)
    ws.Range("$A$1:$B$" & Lastrow).AutoFilter
    rng.Select
End Sub

关于excel - 仅选择包含两列之间数据的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48929566/

相关文章:

sql - 子计数除以总计数

excel - 如果 Google Sheets 或 MS Excel 中的值为负数,如何在数字前加上加号 "+"?

vba - 仅复制可见工作表中的单元格并粘贴到下一个免费列 VBA

vba - Excel VBA : How to insert rows and add string of text

excel vba调用带变量的子程序

excel - 尝试使用通配符进行查找/替换

excel - 从唯一条目中添加和计算值

VBA数据透视表过滤器根据单元格值进行更改

excel - 在 Excel 中将多行转换为单堆叠列

vba - 如何让 Powerpoint 在动画中调用我的 VBA 子例程?