我是VBA的新手,所以没有好主意 . 我编写了一段代码,但我无法按照自己的意愿执行特定任务 . 如果有人帮助我,那么我将感激你 . 任务:
我想自动开发一个宏
1-将特定单元格中的数据从Excel工作表导入.txt文件 .
2-将创建的.txt文件中的数据导入新的excel文件 . ( Note 不想在同一个excel文件中获取数据我想要一个新的excel文件打开其中的数据) .
我为从excel文件中的特定单元格导入数据而编写的代码正在生成文本文件,其中我无法获得单独的列(如图2中单独的列所示) . 这段代码给了我数据但只有1列,但我想在2个单独的列中获取数据 .
我的代码的第二部分用于将数据从文本文件复制到Excel工作表但是在同一个excel工作表数据被复制意味着在同一个excel工作簿中但在该工作簿中的不同工作表但我希望该数据应该复制到其他/新的Excel中自动生成的文件/工作簿 .
Important 每次我更新excel表中的数据时,生成的.txt文件和新的excel文件中的数据也应该继续更新 . 请查看附加的图像/图片 .
My Code
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 回答
快速问题(将在代码中做出假设):
.1)你有一个你使用的文件和更新(固定名称)?
.2)您创建的文件是否确实需要自动更新?
.3)为什么需要单独的电子表格?甚至可以在现有工作簿中使用新工作表 .
如果你有一个固定文件,你可以记录信息,你可以用你想要的标签制作第二个excel文件,然后你可以使值直接链接到固定文件,例如:
A1 =“新TTNR的数量:”,然后B1 =“FILEPATH / [FIXED NAME.xlsx] Sheet1!B2”
如果您这样做,您将收到加载包含该信息的文件的提示,以更新单元格值,其中Excel将显式提取指定的数据 .
如果您没有固定的文件名/位置,则可以创建一个宏来动态地提取该值和名称 .
我想,作为一个非VBA解决方案,上述内容对您有所帮助 . 假设您拥有原始数据所在的固定文件名,并且“截断”文件也可以具有固定名称 .