返回列表 上一主題 發帖

[發問] 如何刪除指定欄位數字後再回填未刪除數字

[發問] 如何刪除指定欄位數字後再回填未刪除數字

各位前輩先進們 大家好

請教各位 (一)如何刪除指定欄位後2位數字&如有"S"也刪除.後再回填前面未刪除數字(全面刪除後再回填)
             例""籃號清除""按鈕
         
         (二)以"車編"為基準.刪除指定欄位後2位數字&如有"S"也刪除後再回填前面未刪除數字(部分刪除後回填)
             例"A車籃號清除"

    謝謝各位前輩先進們 籃號清除.zip (28.58 KB)
敏而好學,不恥下問

回復 1# BV7BW

好久沒上來這裡了,上來晃一晃

試看看是不是你要的


Sub A車藍號清除()
藍號清除 "A車"
End Sub

Sub 所有車藍號清除()
藍號清除
End Sub

Sub 自選藍號清除()
車編$ = InputBox("請輸入車編,Ex:A車", Excel詢問, "A車")
藍號清除 車編
End Sub

Sub 藍號清除(Optional 車號 As String)
'此函數用'選擇性引數',不輸入車號即表示全部清除
Arr = Range([B1], [F1].End(4))
If 車號 = "" Then 清除 = True
For R = 2 To UBound(Arr)
  If Arr(R, 5) = 車號 Or 清除 Then
      Arr(R, 1) = Replace(Arr(R, 1), "S", "")            '去掉'S'
      Arr(R, 1) = Left(Arr(R, 1), Len(Arr(R, 1)) - 2) '去掉後兩位
  End If
Next R
[B1].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
End Sub


籃號清除-A.rar (29.72 KB)
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 2# n7822123


    謝謝 龍大大 指點
我先測試.再回報 謝謝你
敏而好學,不恥下問

TOP

回復 2# n7822123
龍  大大 你好
抱歉 延宕測試回報 抱歉
   經測試有1問題請問.因無法配合"籃號重整"運用
請問能否刪除數字後加上00
例  A車  00-籃A01刪除01後加上00....="00-籃A00"
      B車  00-籃B01刪除01後加上00....="00-籃B00"
      C車  00-籃C01刪除01後加上00....="00-籃C00" 等等類推
  又A車  00-籃AS11S刪除11S後加上00...="00-籃AS00"
      B車  00-籃BS11S刪除11S後加上00...="00-籃BS00"
      C車  00-籃CS11S刪除11S後加上00...="00-籃CS00"等等類推
  感謝你
敏而好學,不恥下問

TOP

多幾個處理方案:
Xl0000553.rar (22.07 KB)

TOP

回復 5# 准提部林
感謝 准提部林 老師指導

准提部林 老師  你好 好久不見很高興再見老師手筆
剛測試完全正吻合所需.如增列車主.編號.順位刪除多方面完全操作

老師一出手筆.什麼都有
再次感謝老師 謝謝
敏而好學,不恥下問

TOP

回復 4# BV7BW


我的程式加一行就行了~

最近發現準大在Excel Home 也很活躍


Sub 藍號清除(Optional 車號 As String)
'此函數用'選擇性引數',不輸入車號即表示全部清除
Arr = Range([B1], [F1].End(4))
If 車號 = "" Then 清除 = True
For R = 2 To UBound(Arr)
  If Arr(R, 5) = 車號 Or 清除 Then
      Arr(R, 1) = Replace(Arr(R, 1), "S", "")            '去掉'S'
      Arr(R, 1) = Left(Arr(R, 1), Len(Arr(R, 1)) - 2) '去掉後兩位
      Arr(R, 1) = Arr(R, 1) & "00"
  End If
Next R
[B1].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
End Sub  
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 7# n7822123


謝謝 龍大大
以合所需求運作
也非常謝謝 龍 大大 指教 感謝
敏而好學,不恥下問

TOP

Arr(R, 1) = Replace(Arr(R, 1), "S", "")            '去掉'S'
注意:
12-籃AS12S 會變成 12-籃A12

所有的S都會吃掉~~

TOP

回復 9# 准提部林
謝謝 老師 關注
有注意這情況
謝謝提醒
敏而好學,不恥下問

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題