[英]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.