繁体   English   中英

如何通过一个宏将特定数据从Excel文件导入到文本文件,以及如何将生成的文本文件中的数据导入到新的Excel文件中

[英]How to import specific data from Excel file to text file and import the data from generated text file into new Excel file by one macro

我是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

快速提问(将在代码中进行假设):

.1)您是否有一个可以使用并更新的文件(固定名称)?

.2)您创建的文件实际上是否需要自动更新?

.3)为什么需要单独的电子表格? 在现有工作簿中甚至有一个新的工作表也可能会起作用。

如果您有登录信息的固定文件,则可以使用所需标签制作另一个excel文件,然后可以将值直接链接到该固定文件,例如:

A1 =“新TTNR的编号:”,然后B1 =“ FILEPATH / [固定名称.xlsx] Sheet1!B2”

如果这样做,将提示您加载包含该信息的文件以更新单元格值,Excel将在其中显式提取命名数据。

如果没有固定的文件名/位置,则可以创建一个宏来动态提取该值和名称。

我想作为非VBA解决方案,以上内容对您有帮助。 假定您具有原始数据所在的固定文件名,并且“截断的”文件也可以具有固定名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM