VBA搜索和复制
我正在自动更新我必须做的事情,我想写的宏的一部分需要特定的文本来填充。 我在同一列中有数百行的以下文本类型: 屏幕录制^naushi02^PRORC^10035 PRORC^10635^屏幕录制^misby01 屏幕录制^liw03^PRORC^10046 我已经把我需要的文本加粗了。我想用我需要的内容替换整个文本,或者将我需要的内容放在下一列的同一行 在我意识到格式有变化之前,我已经写了60行左右的东西。总的来说,这一切都是一样的,这就是为什么我一开始没有意识到,我花了很多时间写了一些现在已经无用的东西。。。所以我请求专家的帮助 一旦我从第一行得到了我需要的东西,我需要向下移动直到最后一个条目重复 我有一些代码显然不能完全工作 我曾考虑过在搜索中使用“ScreenRecording”文本以及键盘上找不到的特殊字符,然后尝试复制从该点到第二个数字字符的所有文本。我不知道怎么做,如果它能工作,或者即使它是一个好主意,但因为我花了这么多时间试图解决它,我需要一些帮助VBA搜索和复制,vba,excel,Vba,Excel,我正在自动更新我必须做的事情,我想写的宏的一部分需要特定的文本来填充。 我在同一列中有数百行的以下文本类型: 屏幕录制^naushi02^PRORC^10035 PRORC^10635^屏幕录制^misby01 屏幕录制^liw03^PRORC^10046 我已经把我需要的文本加粗了。我想用我需要的内容替换整个文本,或者将我需要的内容放在下一列的同一行 在我意识到格式有变化之前,我已经写了60行左右的东西。总的来说,这一切都是一样的,这就是为什么我一开始没有意识到,我花了很多时间写了一些现在已经
提前感谢如果您总是想返回单词“ScreenRecording”后面的值,您可以使用以下函数来执行此操作 将其包含在
子例程中,以便在需要时就地更换:
Function SplitScreenRecording(sInput As String) As String
Dim a As Variant
Const SDELIM As String = "^"
Const LOOKUP_VAL As String = "ScreenRecording"
a = Split(sInput, SDELIM)
If IsError(Application.Match(LOOKUP_VAL, a, 0)) Then
SplitScreenRecording = CVErr(2042)
Else
SplitScreenRecording = a(Application.Match(LOOKUP_VAL, a, 0))
End If
End Function
Sub ReplaceInPlace()
Dim rReplace As Range
Dim rng As Range
Set rReplace = Range("A1:A3")
For Each rng In rReplace
rng.Value = SplitScreenRecording(rng.Value)
Next rng
End Sub
如果您总是希望返回单词“ScreenRecording”后面的值,可以使用以下函数来执行此操作
将其包含在子例程中,以便在需要时就地更换:
Function SplitScreenRecording(sInput As String) As String
Dim a As Variant
Const SDELIM As String = "^"
Const LOOKUP_VAL As String = "ScreenRecording"
a = Split(sInput, SDELIM)
If IsError(Application.Match(LOOKUP_VAL, a, 0)) Then
SplitScreenRecording = CVErr(2042)
Else
SplitScreenRecording = a(Application.Match(LOOKUP_VAL, a, 0))
End If
End Function
Sub ReplaceInPlace()
Dim rReplace As Range
Dim rng As Range
Set rReplace = Range("A1:A3")
For Each rng In rReplace
rng.Value = SplitScreenRecording(rng.Value)
Next rng
End Sub
如果要替换:
Sub main2()
Dim key As String
Dim replacementStrng As String
key = "ScreenRecording"
replacementStrng = "AAA"
With Worksheets("mysheet01").columns("A") '<--| change "mysheet01" and "A" to your actual sheet name and column to filter
.Replace what:=key & "^*^", replacement:=key & "^" & replacementStrng & " ^ ", LookAt:=xlPart
.Replace what:="^" & key & "^*", replacement:="^" & key & "^" & replacementStrng, LookAt:=xlPart
End With
End Sub
Sub main2()
将键变暗为字符串
Dim REPLACENTSTRNG作为字符串
key=“屏幕录制”
替换strng=“AAA”
使用工作表(“mysheet01”)。列(“A”)如果要替换:
Sub main2()
Dim key As String
Dim replacementStrng As String
key = "ScreenRecording"
replacementStrng = "AAA"
With Worksheets("mysheet01").columns("A") '<--| change "mysheet01" and "A" to your actual sheet name and column to filter
.Replace what:=key & "^*^", replacement:=key & "^" & replacementStrng & " ^ ", LookAt:=xlPart
.Replace what:="^" & key & "^*", replacement:="^" & key & "^" & replacementStrng, LookAt:=xlPart
End With
End Sub
Sub main2()
将键变暗为字符串
Dim REPLACENTSTRNG作为字符串
key=“屏幕录制”
替换strng=“AAA”
对于工作表(“mysheet01”).columns(“A”)“选择“^”字符正确出现的规则是什么?选择“^”字符正确出现的规则是什么?感谢您的建议,这是一个很大的帮助。欢迎您。如果我填好了你的问题,请将答案标记为已接受。谢谢你的建议,这是一个很大的帮助。欢迎你。如果我填好了你的问题,请将答案标记为已接受。非常感谢。