2016-01-01 23 views
-5

我使用在线文件格式转换器将包含巨大价目表的几个文件从* .pdf转换为* .xls格式。然而,转换没有给出预期的结果,并且需要在文件上进行更多的清理工作。已经尝试了各种不同的方法使用宏记录器和粘性溢出失败。将所有不完整行中的条目与上面完整行中的条目连接起来

我需要一个宏来对我的数据执行以下清理工作。

  1. 循环选定数据中的行并搜索缺少一个或多个单元格中的条目的不完整行。
  2. 将这些不完整行中的文本与其上面第一个完整行中同一列中的单元格连接起来。

示例;

如果A列中包含的所有条目,但B列中缺少产品代码列项,然后在B行针描述列中的条目应与排针说明文的

此文件包含10个串联数据线。选项卡1显示前两个产品包含不完整行的数据。选项卡2显示了我希望它的形式。

http://www.filetolink.com/5e39eaaf00

我会是有这方面的帮助,非常感谢这将节省我很多头捶胸顿足的。

+0

是否有可能在你的问题中增加一个你有什么和你想要什么的文本例子?我对下载文件犹豫不决,但想对此有所帮助。 – daneshjai

+1

按照以下步骤操作,选择整个范围。转到:查找并选择--->转到特殊。选择空白单元格。点击'=',然后向上箭头,然后按Ctrl - Enter。它应该用一个公式填充所有空单元格,以与上面的单元格相同。然后您可以复制并粘贴这些值。 –

回答

0

我没有拉起该文件,因为该网站有极端的安全风险警告,但下面的代码将做你想要的,据我所知。如果没有,请澄清,我会根据需要进行修改。

我的Excel列在下面的顺序: ID,产品代码,NeedleDescription

如果NeedleDescription不是第一列到你的产品代码的,这将不工作的权利。请让我知道您的专栏的顺序,我会根据需要进行修改。

  1. 复制下面的到模块
  2. 选中你想要清理
  3. 运行宏“清洗”

的范围内它会通过所有行中循环,并填写所有空细胞的串联: CurrentRowNeedleDescription & PreviousRowNeedleDescription

Sub Cleanse() 
    'Fill an empty or blank cell in selection 
    'with formula specified 

    'First Highlight Affected Range, then run this macro 

    Dim cell As Range 

    On Error Resume Next 

    'Set formula to include in empty cells 
    'to be the description of existing row plus description of previous row 

    'Test for empty cell. If empty, fill cell with value given 
    For Each cell In Selection 
     If IsEmpty(cell) Then 
      cell.FormulaR1C1 = "=RC[1]&R[-1]C[1]" 
     End If 
    Next 
End Sub 

希望有所帮助!

相关问题