簡體   English   中英

VBA復制和粘貼數據,跳過第一行

[英]VBA Copy and paste data skipping the first row

我有40個具有相同格式的不同excel數據文件(data1.csv〜data40.csv)。 我正在嘗試根據從那40個文件中讀取的所有數據生成一個圖形。 我的想法是,創建一個新的臨時.csv文件(tempOut.csv),將從每個文件讀取的所有數據按一個順序復制並粘貼到其中,最后使用該臨時文件中的數據生成圖形。

問題在於,每個文件都有標題行,例如(ID,名稱,val1,val2 、、、)。 從每個文件復制數據時,我需要刪除此行,或者完全跳過這一行進行復制,然后將其粘貼到臨時.csv文件中,但不包括第一個文件。

使用我編寫的代碼如何實現? 這是我的代碼:

Dim thisFile As String   'input file name
Dim outFile As String    'output file name
Dim dataRead As String   'containing data copied and pasted
outFile = "tempOut.csv"
Open outFile For Output As #1
For i = 1 To 40
  thisFile = "C:\datafolder\data" + CStr(i) + ".csv"
  Open thisFile For Input As #2
  Do Until EOF(2)         'read until the end of the file
    Line Input #2, dataRead
    Print #1, dataRead
  Loop
  Close #2
Next i
Close #1

此代碼確實創建了一個新文件,並按順序復制和粘貼了每個文件中的所有數據。 但是,每次它也會復制並粘貼標題行。 我添加了if語句,使得當i = 1時,它將讀取所有內容。 但是我不太確定如何復制從讀取的第二個文件到最后一個文件跳過的第一行。

誰能幫我這個忙嗎? 先感謝您。

添加:例如,data1.csv看起來像
| ID |名稱| VAL1 |值2 | ...
| 0 | aaaa | 1 | 2 | ...
| 1 | bbbb | 3 | 4 | ...
| 2 | cccc | 5 | 6 | ...

和data2.csv看起來像
| ID |名稱| VAL1 |值2 | ...
| 3 | dddd | 7 | 8 | ...
| 4 | eeee | 9 | 9 | ...
| 5 | ffff | 7 | 5 | ...

然后,合並的tempOut.csv應該看起來像
| ID |名稱| VAL1 |值2 | ...
| 0 | aaaa | 1 | 2 | ...
| 1 | bbbb | 3 | 4 | ...
| 2 | cccc | 5 | 6 | ...
| 3 | dddd | 7 | 8 | ...
| 4 | eeee | 9 | 9 | ...
| 5 | ffff | 7 | 5 | ...

您將需要跟蹤存在的第一個文件以及您在文件中的位置,因此請像下面的代碼一樣添加變量“ j”和“ k”:

   Dim thisFile As String   'input file name
   Dim outFile As String    'output file name
   Dim dataRead As String   'containing data copied and pasted

   outFile = "tempOut.csv"
   Open outFile For Output As #1

   k = 0

   For i = 1 To 40
     thisFile = "C:\datafolder\data" + CStr(i) + ".csv"
     Open thisFile For Input As #2
     j = 0

     Do Until EOF(2)         'read until the end of the file
       If k = 0 Then k = i
       j = j + 1
       Line Input #2, dataRead

       If i = k Or (i > k And j > 1) Then
          Print #1, dataRead
       End If
     Loop

     Close #2
   Next i

   Close #1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM