将Excel数据提取到管道分隔文件中-如何参考其他工作簿

马丁·瓦切克(Martin Vacek)

我正在创建excel文件,该文件仅包含按钮,当单击该按钮时,会将指定(现在只是硬编码)目录中的所有其他excel文件提取到管道分隔的.txt文件中。我过去曾经做过一些编程,但是对VBA不太熟悉,因此我通常通过搜索和重用教程等来工作。

我基本上想做的是:-遍历特定目录-对于每个xls / xlsx文件,创建一个单独的.txt管道分隔的,名称相同的扩展名,并以.txt为扩展名

到目前为止,我已经找到了以下代码:

    Sub Run_Coversion()

Dim directory As String
Dim fileName As String
Dim OutputFile As String

Dim myWkBook As Workbook
Dim myRecord As Range
Dim myField As Range
Dim nFileNum As Long
Dim sOut As String
Const DELIMITER As String = "|"

Application.ScreenUpdating = False
directory = "C:\Users\vacek\Documents\EFPIA_Project\Excel_Tool\Files\"
fileName = Dir(directory & "*.xls*")
Do While fileName <> ""
Workbooks.Open (directory & fileName)
OutputFile = directory & fileName & ".txt"
nFileNum = FreeFile
Open OutputFile For Output As #1
Set myWkBook = Workbooks(fileName)
myWkBook.Sheets("Sheet1").Activate

For Each myRecord In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
    With myRecord
        For Each myField In Range(.Cells, Cells(.Row, Columns.Count).End(xlToLeft))
        sOut = sOut & DELIMITER & myField.Text
        Next myField
        Print #nFileNum, Mid(sOut, 2)
        sOut = Empty
    End With
Next myRecord
End With

Workbooks(fileName).Close
fileName = Dir()
Loop
Application.ScreenUpdating = True
End Sub

问题是,“ For Each”循环遍历正在运行宏的工作簿,而不是打开的工作簿。我尝试过设置该工作簿为活动状态,但无法使其正常工作。任何人都可以帮助我设置此权限吗?

亚历克斯·K。

在打开的工作簿中创建对工作表的引用:

Dim sheet As Worksheet
Set sheet = myWkBook.Sheets("Sheet1")

然后Range/Row/Cell ...在后续代码中使用该变量属性,以防止Range默认情况下的“裸” ActiveWorkbook

For Each myRecord In sheet.Range("A1:A" & sheet.Range("A" & sheet.Rows.Count).End(xlUp).Row)
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Excel数据提取到管道分隔文件中-如何参考其他工作簿

来自分类Dev

将Excel公式复制到其他工作簿,而不保留参考

来自分类Dev

如何使VBA单击其他工作簿中的按钮?

来自分类Dev

如何防止为一个Excel工作簿编写的VBA影响其他工作簿

来自分类Dev

如何使用VBA将多个工作簿的第一列合并到其他工作簿的工作表中

来自分类Dev

使用其他工作簿中的公式?

来自分类Dev

如何在同一工作簿中创建到其他Excel工作表的超链接

来自分类Dev

使用其他工作簿中的数据更新Excel工作簿中的数据

来自分类Dev

如何使用CheckBox Logic浏览工作簿中的其他工作表?

来自分类Dev

如何使用CheckBox Logic浏览工作簿中的其他工作表?

来自分类Dev

根据Excel中的值将数据提取到新工作簿中

来自分类Dev

如何将网站中的数据提取到Excel中?

来自分类Dev

如何将pdf数据提取到excel中?

来自分类Dev

将值从各种工作簿和工作表复制到其他工作簿中

来自分类Dev

将Excel工作簿保存在其他位置

来自分类Dev

如何从活动工作簿中的其他项目运行子例程?VBA

来自分类Dev

从其他工作簿中调用Excel宏

来自分类Dev

将数据从一个工作簿复制到其他工作簿

来自分类Dev

使用通配符从其他工作簿中获取数据错误

来自分类Dev

VBScript从其他工作簿中搜索Excel工作簿以获取价值

来自分类Dev

在其他工作簿上运行Excel宏

来自分类Dev

链接到其他Excel工作簿并缩短路径

来自分类Dev

使用其他工作簿中的Vlookup出现问题

来自分类Dev

使用其他工作簿中的Vlookup出现问题

来自分类Dev

防止一个工作簿中的代码影响其他工作簿

来自分类Dev

复制和粘贴链接到其他工作簿的单元格时,如何阻止Excel更新链接?

来自分类Dev

Userform1.Show正在寻找其他工作簿?如何在活动的WorkBook中运行它?

来自分类Dev

如何在Google表格中查询功能(数据过滤以将数据提取到其他表格)

来自分类Dev

使用vba删除其他excel工作簿中excel工作表上的空白行

Related 相关文章

  1. 1

    将Excel数据提取到管道分隔文件中-如何参考其他工作簿

  2. 2

    将Excel公式复制到其他工作簿,而不保留参考

  3. 3

    如何使VBA单击其他工作簿中的按钮?

  4. 4

    如何防止为一个Excel工作簿编写的VBA影响其他工作簿

  5. 5

    如何使用VBA将多个工作簿的第一列合并到其他工作簿的工作表中

  6. 6

    使用其他工作簿中的公式?

  7. 7

    如何在同一工作簿中创建到其他Excel工作表的超链接

  8. 8

    使用其他工作簿中的数据更新Excel工作簿中的数据

  9. 9

    如何使用CheckBox Logic浏览工作簿中的其他工作表?

  10. 10

    如何使用CheckBox Logic浏览工作簿中的其他工作表?

  11. 11

    根据Excel中的值将数据提取到新工作簿中

  12. 12

    如何将网站中的数据提取到Excel中?

  13. 13

    如何将pdf数据提取到excel中?

  14. 14

    将值从各种工作簿和工作表复制到其他工作簿中

  15. 15

    将Excel工作簿保存在其他位置

  16. 16

    如何从活动工作簿中的其他项目运行子例程?VBA

  17. 17

    从其他工作簿中调用Excel宏

  18. 18

    将数据从一个工作簿复制到其他工作簿

  19. 19

    使用通配符从其他工作簿中获取数据错误

  20. 20

    VBScript从其他工作簿中搜索Excel工作簿以获取价值

  21. 21

    在其他工作簿上运行Excel宏

  22. 22

    链接到其他Excel工作簿并缩短路径

  23. 23

    使用其他工作簿中的Vlookup出现问题

  24. 24

    使用其他工作簿中的Vlookup出现问题

  25. 25

    防止一个工作簿中的代码影响其他工作簿

  26. 26

    复制和粘贴链接到其他工作簿的单元格时,如何阻止Excel更新链接?

  27. 27

    Userform1.Show正在寻找其他工作簿?如何在活动的WorkBook中运行它?

  28. 28

    如何在Google表格中查询功能(数据过滤以将数据提取到其他表格)

  29. 29

    使用vba删除其他excel工作簿中excel工作表上的空白行

热门标签

归档