【问题标题】:Copy excel cell data till the nearest filled cell in column将excel单元格数据复制到列中最近的填充单元格
【发布时间】:2012-03-16 01:39:13
【问题描述】:

我是 Excel 的新手,我面临一些问题。

我有一个 Excel 表,我必须将它导入到我的另一个程序中。请考虑这种格式:

Heading1 |  Sub-heading1  |   Sub-Sub-heading1 
         |                |   Sub-Sub-heading2 
         |                |   Sub-Sub-heading3 
         |                |   Sub-Sub-heading4 
         |  Sub-heading2  |   Sub-Sub-heading1 
         |                |   Sub-Sub-heading2 
         |                |   Sub-Sub-heading3 
         |                |   Sub-Sub-heading4 
Heading2 |  Sub-heading1  |   Sub-Sub-heading1
and so on..

问题在于,出于导入目的,我不能将任何单元格留空。所以,我想要一些论坛,通过它可以将Heading1 复制到Heading2 上方的所有单元格中,对于 column2 以及之后出现在所有行中的所有数据也是如此。

这会很有帮助,因为它会为我消除障碍。

【问题讨论】:

    标签: excel copy cell


    【解决方案1】:

    这可以通过手动(无代码)或编程方式(简单代码)快速完成,使用 SpecialCells 具有 xlBlanks 集合

    1.手动

    • 选择前两列中的单元格
    • 按 F5 ... 特殊 ...空白
    • 在公式栏中输入 =A1,其中 A1 是新选择的空白上方的第一个单元格
    • 按住 Ctrl 键并按 Enter 可一次在所有空白单元格中输入此公式

    这写得很好here 包括关于如何将这些公式转换为值的说明

    2。 VBA

    提供三个样本here

    第二个代码的修改版本适用于 A:B 列(这似乎是您的数据布局)

    Sub FillColBlanks_Offset()
    'by Rick Rothstein  2009-10-24
    'fill blank cells in column with value above
    'http://www.contextures.com/xlDataEntry02.html
    'modified by brettdj
    Dim Area As Range, LastRow As Long
    On Error Resume Next
    With Columns("A:B")
        LastRow = .Find(What:="*", SearchOrder:=xlRows, _
                        SearchDirection:=xlPrevious, _
                        LookIn:=xlFormulas).Row
        For Each Area In .Resize(LastRow). _
            SpecialCells(xlCellTypeBlanks).Areas
            Area.Value = Area(1).Offset(-1).Value
        Next
    End With
    End Sub
    

    【讨论】:

    • 大约有。 500 个Headings,以及相应的几个sub-headingssub-subheadings。有什么方法可以检测他最后填充的单元格并复制到该点,以使其快速?
    • @Cipher。两种方法都可以做到这一点,因为 SpecialCells 在实际的 UsedRange 中工作,即如果您使用 A&B 列,那么只会更新电子表格中使用的部分(即使 Rick 的代码没有找到最后使用的单元格)。
    • 太棒了!谢谢你。拯救了这一天!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 2011-11-21
    • 2019-08-07
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多