【发布时间】:2016-12-19 12:34:43
【问题描述】:
我是 VBA 新手,所以没有好主意。我已经编写了一个代码,但我无法执行我想要执行的特定任务。如果有人帮助我,我将不胜感激。 任务:
我只想开发一个自动的宏
1- 将特定单元格中的数据从 Excel 工作表导入 .txt 文件。
2- 将该数据从创建的 .txt 文件导入到新的 excel 文件中。 (注意不想在同一个 excel 文件中获取数据,我想要一个新的 excel 文件来打开其中的数据)。
我为从 excel 文件中的特定单元格导入数据而编写的代码正在生成无法获取单独列的文本文件(如图 2 所示的单独列)。这段代码给了我数据,但只有 1 列,但我想在 2 个单独的列中获取数据。
我的代码的第二部分用于将数据从文本文件复制到 excel 工作表,但在同一个 excel 工作表中,数据被复制意味着在同一个 excel 工作簿中,但在该工作簿的不同工作表中,但我希望数据应该复制到其他一些工作表中/自动生成的新excel文件/工作簿。
重要每次我更新excel表格中的数据,所以生成的.txt文件和新的excel文件中的数据也应该不断更新。请看附件的图片/图片。
我的代码
Private Sub CommandButton1_Click()
Dim rng As Range
Dim Sourceworksheet As Worksheet
Dim DestFile As String
Dim cel As Range
Application.DefaultFilePath = "C:\Libraries\Documents\"
DestFile = Application.DefaultFilePath & "\Test.txt"
Open DestFile For Output As #1
Set Sourceworksheet = ActiveWorkbook.ActiveSheet
Set rng = Range("A6:B40")
For Each cel In rng.Cells
Write #1, cel.Address & "|" & cel.Value2
Next cel
Close #1
MsgBox "txt file exported"
Dim X As Double
Dim TXT As String
Open "C:\Users\Documents\Test.txt" For Input As #1
X = 0
Do While Not EOF(1)
Line Input #1, TXT
Cells(1, 1).Offset(X, 0) = TXT
X = X + 1
Loop
Close #1
End Sub
【问题讨论】:
-
对不起,我之前忘了添加代码。感谢 Shai Rado 改进了我的查询。真的很感谢。
-
只是一个想法:制作一个宏将特定数据传输到一个新的 excel 文件,然后将其另存为 .txt 和 .xlsx?
-
@Cyril 如果您有为此编写的内容,这也可以使用,请与我分享,因为我不知道如何将特定的 excel 单元格数据复制到新的 excel 工作簿中。
-
您需要中间文本文件吗?或者您可以直接复制到新的 Excel 文件中吗?中间文字似乎是多余的......
-
抱歉回复晚了。非常感谢 Scott Holtzman 的回复。我知道,但不幸的是,我需要它来完成其他一些任务,而且我的主管也要求我们必须在其他地方使用文本文件数据。