發(fā)布時間:2025-06-25閱讀(12)
|
這個在日常辦公中,經(jīng)常遇到各種系統(tǒng)導(dǎo)出的數(shù)據(jù),比如家庭地址,是“北京市東城區(qū)安定門街道辦事處五道營社區(qū)居委會”這樣的全名。看起來不是很簡明。而我們實際需要的可能就只是“安定門五道營”這個關(guān)鍵信息。
excel中,就要用Crtl H來替換,但是要把北京市東城區(qū)安定門街道辦事處五道營社區(qū)居委會”變成“安定門五道營”,就需要替換3次。如果只是操作一次,那3次就3次吧,畢竟就麻煩這一回。 但是,如果是每個月這么操作一回甚至是多回大量數(shù)據(jù),那就顯得很麻煩了。因此,我想用VBA幫忙,只用改一次,下次直接粘貼直接用。 打開excel,按Alt F11,打開VBA編輯器,把以下代碼粘貼進去,然后按F5執(zhí)行。
在彈出的窗口中,填寫要替換信息所在單元格范圍,如A2:A9。
最后點擊,確定,OK了,是不是超簡單。
這段代碼還針對數(shù)據(jù)量大容易卡死進行了優(yōu)化,即時是幾十萬條數(shù)據(jù),也只是秒速完成。 最后把VBA代碼放下面: Sub replaceDataInColumn() Dim targetRange As Range Dim data As Variant Dim i As Long, j As Long Dim targetCol As String On Error Resume Next Set targetRange = Application.InputBox("請選擇要操作的目標列范圍(例如:選擇Z1:Z100):", Type:=8) On Error GoTo 0 If targetRange Is Nothing Then MsgBox "操作已取消。" Exit Sub End If targetCol = Split(targetRange.Address, "$")(1) data = Range(targetCol & "1:" & targetCol & Range(targetCol & Rows.Count).End(xlUp).Row).Value For i = 1 To UBound(data) If Not IsEmpty(data(i, 1)) Then data(i, 1) = Replace(data(i, 1), "北京市東城區(qū)", "") ' 北京市東城區(qū) 根據(jù)實際修改 data(i, 1) = Replace(data(i, 1), "街道辦事處", "") ' 街道辦事處 根據(jù)實際修改 data(i, 1) = Replace(data(i, 1), "居委會", "") ' 居委會 根據(jù)實際修改 End If Next i Range(targetCol & "1").Resize(UBound(data), 1).Value = data MsgBox "替換完成。" End Sub 當然,如果你有更多的excel學習需要,可以試試以下一些課程。 |
歡迎分享轉(zhuǎn)載→http://www.avcorse.com/read-547514.html
下一篇:如何評價電影泰坦
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖