VBA:Excel中的动态范围-查找包含相关数据的最后一列

时间:2019-04-12 06:46:19

标签: excel vba

我要从中复制数据的工作簿中有不同的工作表。我可以手动为每张纸写出范围,因为它的大小不应该经常更改。但是,我真的希望它更优雅并遍历整个过程。问题是,每张纸上的数据可能略有不同,现在我不知道如何找到最后一列。

在不同的工作表上,第一列和第一行始终为空,然后是我想要的数据(其中4列以上)。 (到目前为止)有三种变体:

  1. 只需输入所需数据即可。很简单

    lCol = Cells(2,Columns.Count).End(xlToLeft).Column

  2. 但是,有时候,我想要的数据右边有一个空列,然后是一个与数据无关的列:Data structure2

如果那是唯一的情况,我将代码调整为以下内容:

lCol = Cells(2, Columns.Count).End(xlToLeft).End(xlToLeft).Column
If lCol = 2 Then
    lCol = Cells(2, Columns.Count).End(xlToLeft).Column
End If
  1. 不幸的是,我还有一些工作表在其右侧还有一些(不相关的)数据:

Data structure3

我不知道该如何解决。基本上,我需要告诉Excel选择最大连续范围的代码,即没有空列的范围

编辑:我不知道这是否有帮助,但是我在每张工作表中查找的数据周围都有一个边框(格式为表格)

0 个答案:

没有答案