2013-10-08 52 views
0

我需要将一系列5000行excel文档导出到mySQL。问题在于excel文件被重复合并。 (见链接截图:http://cgtest.forakergroup.com/images/excel.png重新生成Excel合并单元格

 A1 CHARITY NUM  AMT 
+ A2 name  1  $100 
| + A3    2  $105 
| | A4    2  $105 
| L A5    5  $105 
L A6    5  $105 
+ A7 name2  1  $100 
| + A8    2  $105 
| | A9    2  $105 
| L A10    5  $105 
L A11    5  $105 

我需要在每个地方它已经被合并(A3,A4等)的后续列中插入的慈善机构名称(目前在A2)。

在Excel中是否有一个函数可以重新填充合并的单元格?

+0

您可以取消合并所有单元格,然后使用上面第一个非空白单元格的值写入一个宏以填充所有空格。 – ApplePie

+0

如果这个宏是你首选的解决方案,你会考虑发布它作为*答案*(代码可能更容易阅读!),然后[*接受*](http://stackoverflow.com/help/accepted-answer )呢? – pnuts

回答

0

只要所有单元都没有合并,以下宏将填充所有空格。

Sub Fill_Empty() 
Dim oRng As Range 
Set oRng = Selection 
Selection.Font.Bold = True 
Selection.SpecialCells(xlCellTypeBlanks).Select 
Selection.Font.Bold = False 
Selection.FormulaR1C1 = "=R[-1]C" 
oRng.Copy 
oRng.PasteSpecial Paste:=xlValues, Operation:=xlNone, _ 
    SkipBlanks:=False, Transpose:=False 
End Sub 

感谢Levasseur提出了编写宏的建议。

1

如果你需要我认为你是一个功能是没有必要的(也没有代码)。只需选择相关的列,首页>编辑 - 查找&选择,空白键=截至按Ctrl +输入

+0

除非我做错了,那么一次只能改变一个组。宏更新整个工作表。 – wfinley

+0

如果单元格确实合并(例如名称位于四个空白单元格之上),那么该列首先需要取消合并。否则应一次应用于整个列。但是你提到了其中已经合并的每个后续栏目(A3,A4等),我可能没有正确解释。如果有兴趣,请访问http://www.youtube.com/watch?v=9TDcVOKbm34 – pnuts