返回列表 上一主題 發帖

[發問] ➽➽請問如何刪除(前面三碼的數字)

[發問] ➽➽請問如何刪除(前面三碼的數字)

如何刪除(數字的前面三碼)

我有一堆數字
刪除前面三碼的數字
請問我該怎麼處理

可以做成VBA做成嗎??
或是如何處理

非常感謝大家幫忙,謝謝

附上說明圖片

說明檔案

Q.jpg
2020-10-26 02:02


附上檔案
Q1.rar (22.27 KB)
學習 學習 一直學習

回復 1# peter95

Sub ex()
Dim a As Object
Dim x%, QQ%
For Each a In Range([D10], [O10].End(4))
   For x = 1 To Len(a)
      If IsNumeric(Mid(a, x, 1)) = True Then QQ = QQ + 1
      If QQ = 3 Then a.Value = WorksheetFunction.Replace(a, 1, x, ""): QQ = 0: Exit For
   Next
Next

TOP

回復 2# jcchiang


感謝大大幫忙
解決困擾我很久的問題

現在變得好輕鬆
感謝
學習 學習 一直學習

TOP

回復 1# peter95
  1. Sub tt()
  2. Dim Arr, i&
  3.     Arr = Range("D10:O" & Range("D10").End(4).Row)
  4.     For i = 1 To UBound(Arr)
  5.         For j = 1 To UBound(Arr, 2)
  6.             If InStr(Arr(i, j), "-") > 0 Then
  7.                 Arr(i, j) = Val(Trim(Mid(Arr(i, j), 6, 7)))
  8.             Else
  9.                 Arr(i, j) = Val(Trim(Mid(Arr(i, j), 5, 7)))
  10.             End If
  11.         Next
  12.     Next
  13.     Range("D10").Resize(UBound(Arr), UBound(Arr, 2)) = Arr
  14. End Sub
複製代碼

TOP

Sub TEST()
Dim Arr, R&, T$, C&, K%
With Range([D10], [O65536].End(3))
     Arr = .Value
     For C = 1 To .Columns.Count
     For R = 1 To .Rows.Count
         T = Arr(R, C)
         If T Like "*.*.*" Then Arr(R, C) = Mid(T, IIf(Left(T, 1) = "-", 6, 5)): K = 1
     Next R
     Next C
     If K = 1 Then .Value = Arr
End With
End Sub

TOP

隨意窩 "EXCEL迷"  blog  或 http://blog.xuite.net/hcm19522/twblog
已收集7000篇 EXCEL函數

TOP

感謝大家幫忙,已解決
感恩
學習 學習 一直學習

TOP

        靜思自在 : 難行能行,難捨能捨,難為能為,才能昇華自我的人格。
返回列表 上一主題