复制粘贴宏的工作方式因活动表而异

时间:2019-05-10 18:10:50

标签: excel vba

尝试编写Excel宏以查找包含数据的最后一列,复制该列,然后粘贴到下一个(空)列中。我的问题是,有多个工作表,并且只能在当前活动的工作表中使用...之后,它将无法正常工作:

Dim lcol as Long

For j = 1 To Worksheets.Count

第1步-获取第6行中数据的最后一列

lCol = Cells(6, Worksheets(j).Columns.Count).End(xlToLeft).Column

第2步-将该列复制到下一列

Worksheets(j).Columns(lCol).Copy Destination:=Worksheets(j).Columns(lCol + 1)

第3步,将新列中第6行的值更改为1+复制列中相同单元格的值

Worksheets(j).Cells(6, lCol + 1) = Worksheets(j).Cells(6, lCol) + 1

Next j

如果工作簿中有5个标签/工作表,而我的活动标签是最后一个,则正确处理了所有工作表。如果我的活动标签是第三个标签,则该标签之前的所有工作表都将得到正确处理,但此后的工作表则不会被正确处理。

任何人都知道为什么会这样,或者我需要做什么以确保无论哪一个处于活动状态都对所有工作表进行处理?

0 个答案:

没有答案