首页 > 解决方案 > 如何在消除任何尾随空白单元格的同时获得粘贴数据的功能?

问题描述

我在这里有一个功能,有时似乎可以工作,而其他时候它拒绝工作并将我提供的范围视为它们不存在。我需要这个函数将数据从源(表列)粘贴到目标(另一个表列),同时消除任何尾随空格。正在复制的数据中会有空白,因此该函数只能消除最后的空白。

Function Paste_Col_Data_No_Trail(strSrcTbl As String, strSrcCol As String, strTarTbl As String, strTarCol As String)
    Dim rngSrc As Range
    Dim rngTar As Range

    Set rngSrc = Range(strSrcTbl).ListObject.ListColumns(strSrcCol).DataBodyRange
    Set rngTar = Range(strTarTbl).ListObject.ListColumns(strTarCol).DataBodyRange

    For i = rngSrc.Count To 1 Step -1
        If IsEmpty(rngSrc(i)) = False Then
            Range(rngSrc(1), rngSrc(i)).Copy
'This line is where the error is being thrown
            rngTar(1).PasteSpecial Paste:=xlPasteValues           
            i = 1
        End If
    Next i   
End Function

此代码适用于大多数执行,但现在它莫名其妙地抛出 1004 错误。据我了解,这意味着我使用的范围(rngSrc 和 rngTar)不再被识别。

标签: excelvbafunction

解决方案


推荐阅读