我有一个电子表格,里面有很多文件的路径。我使用以下公式来替换列的每个单元格中最后一个出现的"\“。如何才能将其更改为宏,以便不必粘贴并向下拖动每一列。
=SUBSTITUTE(K2,"\","?",LEN(K2)-LEN(SUBSTITUTE(K2,"\","")))我试着录制一个宏,但只在一个单元格上有效,而且只有当活动单元格在O列中时才有效
Sub Macro4()
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(RC[-4],""\"",""?"",LEN(RC[-4])-LEN(SUBSTITUTE(RC[-4],""\"","""")))"
Range("O2").Select
End Sub我需要让它将每个非空K的值放在O列中,从O2开始,从K2开始,而不管活动单元格是什么。
发布于 2016-09-09 00:16:17
以下是另一种方法:
Sub LastSlash()
Dim N As Long, i As Long, rng As Range, r As Range
Dim rc As Long, L As Long, j As Long
rc = Rows.Count
Set rng = Intersect(ActiveSheet.UsedRange, Range("K2:K" & rc))
N = Cells(rc, "K").End(xlUp).Row
For Each r In rng
s = r.Value
L = Len(s)
If InStr(1, s, "\") > 0 Then
For j = L To 1 Step -1
If Mid(s, j, 1) = "\" Then
Mid(s, j, 1) = "?"
Exit For
End If
Next j
End If
r.Offset(0, 4).Value = s
Next r
End Sub

https://stackoverflow.com/questions/39393547
复制相似问题