我是 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
,对于第 2 列以及之后出现在所有行中的所有数据也类似。
这将是很大的帮助,因为它将消除我的障碍。
这可以通过手动(无代码)或以编程方式(简单代码)快速完成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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)