簡體   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