Add*_*ddy 1 excel vba excel-vba
我试图从单元格值中删除一部分但它不起作用.
单元格的示例内容:(示例输入)
="*sls*lmt"&CONCATENATE("_",'C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns\XL-EZ Addin.xla'!COLUMNLETTER(C14),TEXT(ROW(),"0"))&"_sel*range(status)*0*GOOD|OK|0|#00D700|0|100|80*NOT GOOD|NG|0|#FFFF00|0|79|50*FAULTED|FAULTED|0|#FF0000|1|49|0"
Run Code Online (Sandbox Code Playgroud)
样本输出:
="*sls*lmt"&CONCATENATE("_",!COLUMNLETTER(C14),TEXT(ROW(),"0"))&"_sel*range(status)*0*GOOD|OK|0|#00D700|0|100|80*NOT GOOD|NG|0|#FFFF00|0|79|50*FAULTED|FAULTED|0|#FF0000|1|49|0"
Run Code Online (Sandbox Code Playgroud)
我想从价值中删除这部分
'C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns\XL-EZ Addin.xla'
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的
Sub UpdateSheetButton()
Dim subStr1 As String
Dim subSrrt2 As String
Dim pos As Integer
For Each Cell In ActiveSheet.UsedRange.Cells
pos = InStr(Cell.Value, "'C:\")
If pos >= 1 Then
subStr1 = Split(Cell.Value, "'C:\", 1)
subStr2 = Split(Cell.Value, "\AddIns\XL-EZ Addin.xla'", 2)
Cell.Value=subStr1 +subStr2
End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
错误: 运行时错误'13'在此行上键入不匹配
pos = InStr(Cell.Value, "'C:\")
Run Code Online (Sandbox Code Playgroud)
我想知道你为什么使用VBA来完成这么简单的任务.您可以使用内置方法.
第一天(非VBA)
按CTRL+ H键带上Find and Replace对话框并使用它来替换文本.
第二天(VBA)
如果您仍想使用VBA,则只需记录上述宏.有没有必要使用循环.例如
Sub Sample()
Dim sFind As String
Dim sNew As String
'~~> Example. Chnage as applicable
sFind = "Sum"
sNew = "Max" 'or sNew = "" in case you want to remove the above text
'~~> For Complete Worksheet
With ThisWorkbook.Sheets("Sheet1").Cells
.Replace What:=sFind, Replacement:=sNew, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
'~~> For a Column
With ThisWorkbook.Sheets("Sheet1").Columns(1)
.Replace What:=sFind, Replacement:=sNew, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
'~~> For a range
With ThisWorkbook.Sheets("Sheet1").Range("A1:A10")
.Replace What:=sFind, Replacement:=sNew, LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
End Sub
Run Code Online (Sandbox Code Playgroud)