簡體   English   中英

從 Excel 單元格中刪除前導和尾隨空格

[英]Remove Leading and Trailing Whitespace from Excel Cells

我有一個 Excel 電子表格,其中包含多個單元格,這些單元格具有前導或尾隨空格(包括空格、不間斷空格、回車符和換行符)。 我想刪除這些空格。 我的谷歌搜索表明這只能用 VBA 來完成。 VBATrim函數不會刪除所有類型的空格,也可能會從單元格的中間刪除。 VBA 的 Trim 函數的 MSDN 頁面引用了 .NET 的String.Trim方法,這正是我想要的。 但是,我不確定如何按照第一個鏈接的建議從 VBA 調用 String.Trim。 如何從 Excel VBA 調用 String.Trim 方法?

編輯:澄清一下,我想在單元格中間保留空格(包括回車符和換行符)。 我只想刪除單元格開頭和結尾的字符。

如果您想在 Excel 中執行此操作而無需通過 VBA,請使用:

=TRIM(CLEAN(A1))

假設您要清潔單元格 A1。 從我的測試中,這會刪除所有制表符、回車符和換行符,但也會將多個空格轉換為單個空格,因此它可能不是您想要的。

我遇到了同樣的問題,但我發現這段代碼及其工作完美。 它從列名中刪除前導和尾隨空格。

foreach (DataColumn c in d.Columns)
                c.ColumnName = c.ColumnName.Trim();

干杯

我希望你的問題現在已經解決。 我仍然會把我的答案放在那里給那些可能仍然需要它的人。 我也這樣做了,並且在廣泛研究之后才遇到這個問題,因為大多數答案都使用了循環,我通常不惜一切代價避免這種循環; 至少是顯式循環!

所以,對我來說,這些簡單的代碼行就像一個魅力:

Dim Rng As Range
Set Rng = Range("A1").CurrentRegion 'Select the Range based on your criteria, preferably smaller
Rng.Value = Application.Trim(Rng)

希望它有幫助:)

暫無
暫無

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

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