我想在每个工作表中,在任何空白之前,只选择并复制B列中连续数据的第一个范围(例如B3:B5,下表中的值为3,5,2)。
值的长度因工作表而异,但我想要的数据总是从单元格“B3”开始
我不希望Heading5或其他列中的任何值。在某些工作表中,没有Heading5及其下方的值
我读了一些关于Intersect和ActiveCell属性的帖子,但我不知道如何应用它们.VBA新手 - 谢谢你的帮助!
A B C
Heading1 Heading2 Heading3
2 3 6
3 5 8
4 2 4
Heading4 Heading5 Heading6
24 67 2
25 34 5
4 6 12
答案 0 :(得分:1)
只是为了给你一个想法,试试:
Columns("B").Find("", Cells(Rows.Count, "B")).Select
这将选择B列中的第一个空白单元。
现在,如果您想要此单元格引用,只需使用:
MsgBox ActiveCell.Address
这将为您提供 $B$6
(假设您的数据从A1开始)。
*注意:您需要将其与代码一起使用。
答案 1 :(得分:1)
找到了一个解决方案,对我有用:
Dim last As Long
Dim rng As Range
Dim I as integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 8 to WS_Count
last = Worksheets(I).Cells(3, "B").End(xlDown).Row
Set rng = Worksheets(I).Range("B3:B" & last)
Next I