我正在创建一个代码,其中A列,B列和C列必须位于不同的集合中。该代码必须检查C列是否为空。如果其不为空,则必须将A和B列复制到C的特定值所在的位置。
但是,在此数据集中,列c中有一些空格,并且在每个空格之后是一组必须遵循相同逻辑的不同数据。
这是我到目前为止所拥有的:
Sub eliminaciones()
Dim wrkSht As Worksheet
Dim rFindCells As Range
Dim rFillColumn As Range
Dim sFirstAddress As String
Dim rPrevious As Range
Set wrkSht = Workbooks("BD eliminaciones.xls").Worksheets("BD eliminaciones")
Set rFillColumn = wrkSht.Columns(3)
With rFillColumn
Set rFindCells = .Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlNext)
If Not rFindCells Is Nothing Then
sFirstAddress = rFindCells.Address
Do
Set rPrevious = rFindCells
Set rFindCells = .FindNext(rFindCells)
If rFindCells.Row <> rPrevious.Row + 1 And rFindCells.Row > rPrevious.Row Then
wrkSht.Range(rPrevious, rFindCells.Offset(-1)).FillDown
End If
Loop While rFindCells.Address <> sFirstAddress
End If
End With
End Sub
试图寻找相似的问题,但没有相似之处。没有代码在我想要的位置附近。
答案 0 :(得分:0)
如果使用了准确的数据设置(已经分组在一起),那么您可以找到每个范围的第一行和最后一行,并输入值...未经测试的代码,但是可以给出一个主意:>
for i = firstrowC to lastrowC
if a = 0 then a = i
if isblank(cells(i,3)) and b = 0 and a > 0 then b = i-1
if a > 0 and b > 0 then
range(cells(a,1),cells(b,2)).value = range(cells(a,1),cells(a,2)).value
a = 0
b = 0
end if
next i