我想使用 VBA 将文本文件中的内容复制到 Excel 单元格。我可以从大多数文本文件中成功地做到这一点。但在某些文件的情况下,代码只会将部分数据复制到 excel 文件中。
这是我用来复制的代码
FileName = folderpath & sFile Set mytextfile = Workbooks.Open(FileName) mytextfile.Sheets(1).Cells.CurrentRegion.Copy ThisWorkbook.Sheets("RawData").Range("A" & inputRow) 'mytextfile.Sheets(1).Range("A1").CurrentRegion.Copy ThisWorkbook.Sheets("RawData").Range("A" & inputRow) mytextfile.Close (False)
我已经明白是什么问题了。在将某些文本文件作为 excel 文件打开时,单元格 A1 中存在一些内容,而单元格 A2 中存在其余内容。
不知道为什么会这样打开。我在下面发布两个文本文件的内容:
1)在excel中打开时内容包含在不同单元格中的文本文件
fwi!3F5A!041!g1ksIpqub7J MCMILLAN J. PIIKKILA RAYMONDBERRY@WEBTV.NET +001 061 477 130 F g3ktHqrwc9 CLE!g1ksIpqub7 CLEHS04C |PO BOX 171 SEARSPORT,ME Nashville 68800 AZ| |5150 CTY RD 525 罗利 64292| 18000000 0412CL0 1 N 2
当我使用上面的文本文件时,我得到了以下输出。
fwi!3F5A!041!g1ksIpqub7J MCMILLAN J. PIIKKILA RAYMONDBERRY@WEBTV.NET +001 061 477 130 F g3ktHqrwc9 CLE!g1ksIpqub7 CLEHS04C |PO BOX 171 SEARSPORT
2) 内容包含在单个单元格 A1 中的文本文件
fSj!3U68!071!gQloo3d5OGG Presley Y. TART JR PULPACTION82@HOIMAIL.COM +001 047 475273 M gQmqq6d8ME CVE!gQloo3d5OG CVEGF07C |10001 SW 125TH CT RD Reno 88595 TN| |10849 黛博拉大道格伦代尔 70958| 97400000 0712CV0 0 N 0
当我使用上面的文本文件时,我得到了以下输出。
fSj!3U68!071!gQloo3d5OGG Presley Y. TART JR PULPACTION82@HOIMAIL.COM +001 047 475273 M gQmqq6d8ME CVE!gQloo3d5OG CVEGF07C |10001 SW 125TH CT RD Reno 88595 TN| |10849 黛博拉大道格伦代尔 70958| 97400000 0712CV0 0 N 0
这两个文件的内容没有明显的区别。
我也尝试了这段代码,但没有任何成功:
FileName = folderpath & sFile
Set mytextfile = Workbooks.Open(FileName)
mytextfile.Sheets(1).Range("A1").CurrentRegion.Copy ThisWorkbook.Sheets("RawData").Range("A" & inputRow)
mytextfile.Close (False)