2017-10-20 122 views
0

我將excel輸出轉換爲.txt和.dat文件格式,但是隻要將其轉換爲.txt文件,其餘空格或空列在轉換後的文本文件上會給出很多逗號。VBA Excel轉換爲文本文件刪除逗號

= IF(A13 = 「」, 「」, IF(LEFT(A13,1)= 「T」, 「」, IF( '摩根模板新'!A14 <> 「」,」摩根大通模板新建「!A14 &‘摩根大通模板新建’!B14 &‘摩根大通模板新建’!C14 &‘摩根大通模板新建’!D14 &‘摩根大通模板新建’!E14 &‘摩根大通模板新建’!F14 &」摩根大通模板新'!G14 &「」&'JPMorgan Template New'!H14 &「」&'JPMorgan Template New'!I14 &'JPMorgan Template New'!J14 & 「」 & '摩根大通模板新建'!K14 & 「」 & '摩根大通模板新建'!L14 & '摩根大通模板新建'!M14 & 「」 & '摩根大通模板新建'!N14 & '摩根大通模板新建'!O14 & 'JPMorgan Template New'!P14 &「」&'JPMorgan Template New'!Q14 &'JPMorgan Template New'!R14 &'JPMorgan Template New'!S14,「T」& MIN(ROW(A14:A15))+ ROWS (A14)-3 &「」& SUM('JPMorgan Template New'!H:H))))

Sub SaveAsTXT() 
Dim parts As Variant 

parts = Split(ActiveWorkbook.Name, ".") 
parts(UBound(parts)) = ".txt" 

ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & _ 
    Join(parts, "."), FileFormat:=xlCSV, CreateBackup:=False 
End Sub 

請看下圖。 enter image description here

enter image description here

enter image description here

+2

發表您的轉換代碼,請 –

+0

添加轉換代碼 –

+0

@Raunak托馬斯對我的主題遺憾,那就是在記事本++反正 –

回答

0

試試這個

https://stackoverflow.com/a/30658557/3625350

Excel trailing comma bug in csv files

我認爲這可能發生,因爲你列在右邊爲空白,但不爲空(您水平滾動條必須非常小)。選擇列A右側的所有列,然後按Ctrl和 - (減號),這將刪除數據。如果這沒有奏效嘗試使用我的回答中的第一個鏈接修剪和刪除分隔符

編輯:您發佈的公式不完整,但似乎很多單元格都是空白的,因爲在if條件中是「」作爲輸出。當空白單元格被轉換爲csv時,它被認爲是一個值,因爲每個空單元格都以逗號分隔。我假設你只是在最後追加。我在上面建議的步驟應該可以解決這個問題

0

我會先用固定寬度分割數據,然後將文件另存爲csv。我想你不想讓胡安德拉克魯斯分開不同的字符串。

下面是一個示例,用於爲具有三列的文本分割具有固定寬度的文本。

選擇。TextToColumns Destination:= Range(myRange), DataType:= xlFixedWidth,_ FieldInfo:= Array(Array(0,1),Array(3,1),Array(7,1)),TrailingMinusNumbers:= _ True

另一種解決方案是在創建公式中添加一個定義的分隔符,並在csv輸出中使用它。

+0

我是新的VBA,你能幫我分隔符的東西嗎?它可以,如果輸出格式爲csv格式。 –

+0

如果您添加到您的公式而不是空白的分號和空白。分號就是你的分隔符。 – INOPIAE

相關問題