计算机
Windows 7
Excel 2010
打开Excel表格后,功能区里面依次点击的【查找和选择】、【替换】调出“查找和替换”会话框,或者使用【Ctrl+H】组合键调出“查找和替换”会话框。
换行字符输入和替换:(1)将光标放在“查找内容”输入框里面,按住键盘上面的【Alt】键,之后依次按下数字区的【1】、【10】键即可输入第一个换行符。同理,再按住键盘上面的【Alt】键,然后依次按下数字区的【1】、【10】键输入第二个换行符。(2)将光标放在“替换为”输入框里面,按住键盘上面的【Alt】键,再依次按下数字区的【1】、【10】键输入一个换行符。(3)点击【全部替换】。
回到Excel工作表界面,将会发现很多的空白行已经被替换,也难免会有一些意外,那就是有的第一行的空白行没有被替换,别急,方法还是有的。
保存Excel工作薄之后把工作薄关闭,再重新打开,按下【Ctrl+H】组合键调出“查找和替换”会话框。(如果不想关闭工作表,可以分别在“查找内容”和替换为”输入框多按几次【BackSpace】、【Delete】键以清除已输入的换行符)(1)在“查找内容”输入框里面输入一个换行符;(2)在“替换为”输入框里面输入一个与文档内容均不相同的字符或字符串(如:小于号(<));(3)点击【全部替换】。
回到工作表界面,似乎有点傻眼了,换行符都被替换成了小于号(<)。不用担心,好戏刚刚开始。接下来就是在空白单元格里面输入替换公式,如:F2单元格里面输入公式=IF(MID(A2,1,1)='<',REPLACE(A2,1,1,),A2),之后向左、向下拖动复制。公式释义:如果第一个字符是小于号(<),那么它(第一个字符)将会被替换成空白(后面的字符不变),否则就按照单元格原样显示。
复制使用公式替换的单元格,将它覆盖到原数据上面,即:在“粘贴选项”里面选择“值”,粘贴完成后把含有公式的单元格删除。保存工作薄,关闭工作薄后重新打开。
按下【Ctrl+H】组合键调出“查找和替换”会话框。(1)在“查找内容”输入框里面输入小于号(<);(2)在“替换为”输入框里面输入一个换行符;(3)点击【全部替换】。
单元格里面的空白行删除完成。
在Excel表格上面点击【开发工具】、【Visual Basic】调出VBA编辑器,或者使用【Alt+F11】组合键调出VBA编辑器。
在VBA编辑器的Sheet1代码框里面输入以下VBA程序,然后按下【F5】键运行程序。Sub ReplaceChr()Dim i1, i2, i3, i5, str1, str2Application.ScreenUpdating = False '关闭屏幕显示更新Set mysheet1 = ThisWorkbook.Worksheets('Sheet1')str1 = Chr(10) & Chr(10) '连续两个换行符str2 = Chr(10)For i3 = 1 To 10 '循环执行10次 For i1 = 2 To 1000 '从第二行到1000行 For i2 = 1 To 11 '从第一列到11列 If mysheet1.Cells(i1, i2) <> '' Then '如果单元格不为空白,则 mysheet1.Cells(i1, i2) = Replace(mysheet1.Cells(i1, i2), str1, Chr(10)) '替换换行符 i5 = InStr(1, mysheet1.Cells(i1, i2), Chr(10)) '获取换行符的位置 If i5 = 1 Then '如果换行符是第一个,则 i5 = 0 mysheet1.Cells(i1, i2) = Replace(mysheet1.Cells(i1, i2), str2, '', 1, 1) '替换换行符 End If End If Next NextNextApplication.ScreenUpdating = True '恢复屏幕显示更新End Sub
回到Sheet1的工作表界面,将会看到程序的运行结果。
如果空白行里面含有空格,那也不算是空白行哦。
数据无价,执行替换之前应当做好备份,以免数据丢失而无法找回。
个人经验,仅供参考。