2016-11-01 53 views
0

我發現這個代碼,將刪除Excel的如何刪除Excel的每個單元格中的雙引號?

Sub NoNull() 
Dim c As Range 
For Each c In Selection 
    If c.Value = " " Then c.ClearContents 
Next c 
End Sub 

,我有包含附帶雙引號的字符串在編輯器中粘貼在當前小區每個單元雙引號。例如,在Excel中顯示爲

text text2 

,並從編輯的時候,它顯示爲

line 1: "text 
line 2: text2" 

我想去掉雙引號,這樣在CSV打開時,它會像對待作爲一種情況的價值 - 不是多種情況。我如何修改上面的代碼?

+0

據我所知,您顯示的代碼不會刪除雙引號,它會將包含單個空格的單元格變爲空單元格。雙引號不會存儲在電子表格中,但會在表格被保存爲CSV時添加。這兩個值,text和text2在單獨的單元格中?如果是這樣,那麼它們將作爲單獨的字符串值保存在CSV中。要將連續的單元格值合併到CSV中的單個字符串中,需要進行一些不同的處理。 – Hrothgar

+0

使用替換函數並查找chr(34),這是雙引號Replace(c.value,chr(34),「」) – Sorceri

+0

@Hrothgar - 不,它們只在一個單元格中。但是,如果我在文本編輯器中複製文本,它將顯示爲多行。我希望它只有一行,因爲當我在SPSS中導入它時,它將被視爲單獨的案例。 – dixi

回答

2

根據你的評論,你想刪除換行 所以通過替換功能刪除它們。換行符可以是chr(10)或vbCrLf或vbCr中的任何一個。下面是一個例子。

For Each c In Selection 
    c.Value = Replace(c.Value, Chr(10), " ") 
Next c 
+0

感謝@sorceri!這工作:D – dixi