VBA用上面的单元replace值,直到空白和循环

我正在寻找基于上面的单元格填充值,直到空白单元格,这应该继续,直到没有更多的内容,例如:请参考下表,将顶部值向下复制,直到空白,因此,'petty msa'将复制到'inter'并停止,'petty ksm'将复制到'general','comp'将复制到'motor'。

专栏:A
小小的msa

小ksm
福利

预付
一般

补偿
旅行
发动机

编辑:这是一个约15,000行的长列表

谢谢

给你的数据“结构”按照你的例子,这应该做的:

Option Explicit Sub main() Dim area As Range With Worksheets("filldown").Columns("A").SpecialCells(xlCellTypeConstants) '<--| change "filldown" to your actual worksheet name and "A" to actual index of column with data to be "filled down" For Each area In .Areas area.Value = area(1) Next area End With End Sub 

select你有价值的第一个单元格“petty msa”,然后 – 1.按Ctrl + Shift +向下 – select要复制的范围2.按ctrd +向下 – 复制值现在,您已经复制“petty msa”直到包含“间”

为每个范围重复这个过程。

在A1中插入一个空行。 在单元格B2中粘贴下面的公式并将其复制下来。

 = if(A1="",A2,B1) 

这应该工作