excel - 如何将所有行数据附加到与来自不同行的同一文件关联的相同文件名中
问题描述
我正在尝试基于 A 列生成文件,并将行数据写入生成的文件中。我可以用下面的代码来实现。
问题:如果一个文件名出现多次,我想将所有行数据附加到与不同行的相同文件名关联的相同文件名中。
到目前为止,它会选择与 A 列中的文件名相关联的最后一行并生成一个文件。
如何将所有行数据附加到一个文件中。
我的代码,
Sub ExportToNotepad()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Dim i&, lastRow&
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
Set oFile = fso.CreateTextFile("C:\WriteToFile\" & Cells(i, 1) & ".xml")
oFile.WriteLine Cells(i, 2).Value
oFile.Close
Next i
Set fso = Nothing
Set oFile = Nothing
End Sub
问题图像,
解决方案
可能是这样的:
Sub test()
Set rngSource = Range("A1", Range("A" & Rows.Count).End(xlUp))
rngSource.Copy Range("AA1")
Range("AA:AA").RemoveDuplicates Columns:=1, Header:=xlNo
Set rngUnique = Range("AA1", Range("AA" & Rows.Count).End(xlUp))
Set lr = Cells(rngSource.Rows.Count, rngSource.Column)
Set fso = CreateObject("Scripting.FileSystemObject")
For Each cell In rngUnique
n = Application.CountIf(rngSource, cell.Value)
Set c = rngSource.Find(cell.Value, lookat:=xlWhole, after:=lr)
Set oFile = fso.CreateTextFile("C:\WriteToFile\" & cell.Value & ".xml")
For i = 1 To n
oFile.WriteLine c.Offset(0, 1).Value
Set c = rngSource.FindNext(c)
Next i
Next
rngUnique.ClearContents
End Sub
此代码使用列帮助器(AA 列)获取唯一值,以防另一个相同的值出现在不连续的行中。请确保 AA 列中没有重要的文本/值。
推荐阅读
- python-3.x - 代码不起作用,清除错误消息,但找不到源
- testing - 如何在测试环境中使用 PageSpeed?(密码保护)
- python - 表面对象在 Matplotlib 中错误地相互遮挡
- angular - Ionic 4 RouterLink 不适用于带有选项卡和侧边菜单的应用程序
- angular7 - 为 Angular 7 中的特定组件生成单独的构建文件
- javascript - 为什么我收到 javascript 错误:“此请求已被阻止;内容必须通过 HTTPS 提供。”?
- python - Selenium 无法使用 python 抓取 Shopee 电子商务网站
- c# - 扩展方法中的 ASP.NET Core 依赖注入
- javascript - D3 - 字体大小勾选
- java - RXJava2 如何将 2 个 observables 合二为一