VBA 用上面的单元格替换值直到空白并循环
VBA replace value with cell above until blank and loop
我想根据上面的单元格向下填充值直到空白单元格,这应该继续直到没有更多内容,例如:参考下面的 table,将顶部的值向下复制直到空白,因此,'petty msa'将向下复制到'inter'并停止,'petty ksm'将向下复制到'general','comp'将向下复制到'motor' .
列:A
小MSA
国际米兰
小ksm
福利
水
预付款
一般
补偿
旅行
马达
编辑:这是一个大约 15,000 行的长列表
谢谢
Select 您有值的第一个单元格 'petty msa' 然后-
1.按ctrl+shift+down-到select要复制的范围
2. 按 ctrd+down - 向下复制值
现在您已将 'petty msa' 复制到包含 'inter'
的单元格
对每个范围重复此过程。
给定您的数据 "structure" 根据您的示例,应该这样做:
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
在 A1 中插入一个空行。在单元格 B2 中粘贴以下公式并将其复制下来。
= if(A1="",A2,B1)
这应该有效
我想根据上面的单元格向下填充值直到空白单元格,这应该继续直到没有更多内容,例如:参考下面的 table,将顶部的值向下复制直到空白,因此,'petty msa'将向下复制到'inter'并停止,'petty ksm'将向下复制到'general','comp'将向下复制到'motor' .
列:A
小MSA
国际米兰
小ksm
福利
水
预付款
一般
补偿
旅行
马达
编辑:这是一个大约 15,000 行的长列表
谢谢
Select 您有值的第一个单元格 'petty msa' 然后- 1.按ctrl+shift+down-到select要复制的范围 2. 按 ctrd+down - 向下复制值 现在您已将 'petty msa' 复制到包含 'inter'
的单元格对每个范围重复此过程。
给定您的数据 "structure" 根据您的示例,应该这样做:
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
在 A1 中插入一个空行。在单元格 B2 中粘贴以下公式并将其复制下来。
= if(A1="",A2,B1)
这应该有效