select范围和复制/粘贴到记事本 – 几乎完成

经过大量的工作和testing(确实非常可怜),我终于设法在工作表中select一个范围,然后复制/粘贴到记事本中。 此后该文件将由另一个应用重新login。 不幸的是,应用程序拒绝该文件,我没有办法debugging为什么。 我唯一的信息是最后一行发生错误。

令人惊讶的是,当我手工复制粘贴到记事本,它的工作。 据我的眼睛可以看到,两个txt文件(用我的sub()和CP用手写的)完全一样。 我猜我的眼睛是错的 我怀疑是在最后一行还是最后一行的末尾,可能有一些我看不到的空白 。 根据我的观点,我不完全理解的代码的唯一部分是当前问题的地方。

查找下面我的代码的一部分:

[code] ' RngSelect is a Variant and effectively a range of cells ' Txt is a Variant ' LastRow is a Long equal to last row number of my range With RngSelect For Lg1 = 1 To LastRow Txt = Txt & vbCrLf & Join$(Application.Transpose(Application.Transpose(.Rows(Lg1).Value)),vbTab) ' copy each row Next End With Open FilePath For Output As #1 Print #1, Mid$(Txt, Len(vbCrLf) + 1) Close #1 RngSelect = Null Txt = Null End Sub 

如果可以帮助,我的文件被其他应用程序导入可以是一个CSV格式。 目前,我的分隔符是Tab

谢谢你的帮助。

在这篇文章之后 ,我终于抹去了文本底部的最后一行空白。 现在正确的行是: Print #1, Mid$(txt, Len(vbCrLf) + 1) ;

然后,我不得不修改我的LastRow,因为它是我的电子表格中的行号,而不是我的文本文件上的最后一个行号。 现在我将find一种在文本文件中附加文本的方法。