簡體   English   中英

如何使用VBA刪除第一個空格后的單元格中的字符?

[英]How to remove characters in a cell after the first blank space using VBA?

我想使用VBA處理一些Excel工作表。 我已經設法將數據復制到適當的單元格中,但是現在我需要從一系列單元格中刪除出現在第一個空格之后的一些字符。

我不知道該列中的最后一個單元號,所以我必須找出那個單元號是第一個。

這是單元格中數據的示例:

資訊科技

IB6-信息業務

我想離開 :

IB6

並刪除其余的單元格內容。 這是我正在使用的腳本:

Dim strCoIDFull As String

Dim strCoIDShrt As String

'remove characters after the first blank space in column M 'Department Code'

LastRow = Cells(Rows.Count, 13).End(xlUp).Row

strCoIDFull = Range("M22:M" & LastRow).Value

strCoIDShrt = Left(CompanyIDFull, InStr(strCoIDFull, " ") - 1)

Range("M22:M" & LastRow).Value = strCoIDShrt

VBA代碼的這一部分不起作用,關於我哪里出錯了或有更好的解決方案的任何想法?

有兩個問題:

(1)下一行

strCoIDShrt = Left(CompanyIDFull, InStr(strCoIDFull, " ") - 1)

可能需要更改為

strCoIDShrt = Left(strCoIDFull, InStr(strCoIDFull, " ") - 1)

(2)完成上述操作后,您可能還會在所有其他行中獲得M22的截斷值。 那是因為您缺少循環。 您需要遍歷各行,以便截斷其中的每一行和每個字符串。 有關循環的更多信息,您可能需要查看以下鏈接: http : //www.homeandlearn.org/excel_vba_for_loops.html

您真正需要的是:

Dim LastRow                     As Long
LastRow = Cells(Rows.Count, "M").End(xlUp).Row
Range("M22:M" & LastRow).Replace what:=" *", replacement:="", lookat:=xlPart

暫無
暫無

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

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