varios - Buscar y reemplazar una cantidad de caracteres en Excel usando VBscript
formula para buscar y reemplazar en excel (2)
Gracias a todos,
esto está funcionando bien para mí.
For Each objsheet1 In objworkbook2.Sheets
With objsheet1
If .Name = "BatchRun" Then
On error resume next
For i = 1 To 15 Step 1
For j = 1 To 10 Step 1
If InStr(1, .Cells(i, j).Value, my_old_string) > 0 Then
.Cells(i, j).Value = Replace(.Cells(i, j).Value, my_old_string, my_new_string)
End If
Next
Next
End If
End with
Next
Necesito buscar y reemplazar una parte específica de una cadena en una hoja de Excel.
Aquí está mi código y no sé cómo puedo buscar exactamente esta parte en cada valor de Cell.value
.
my_new_string = "abc"
For each objSheet1 in objworkbook2.sheets
If objSheet1.Name = "Name1" Then
LastRow = objsheet1.UsedRange.Rows.Count + objsheet1.UsedRange.Row - 1
For i = 1 To LastRow Step 1
For j = 1 To 15 Step 1
If objExcel1.Cells(i, j).value = "xyz" Then ''Here I have to check if the Cell value contains xyz and to replace it by **my_new_string**
End if
Next
Next
End If
Next
¿Alguna ayuda, por favor?
Cambié tu método para encontrar la última fila a una que sea mucho más confiable.
También utilizaste 2 objetos diferentes para describir la misma hoja, ¡así que lo arreglé! ;)
Finalmente, solo necesita usar el método Replace
que hará el trabajo perfectamente bien, sin necesidad de probar si la cadena está presente con Instr
( Instr
si tiene algo más que hacer si se detecta la cadena anterior)
Const my_old_string = "xyz"
Const my_new_string = "abc"
Const xlPart = 2
Const xlFormulas = -4123
Const xlByRows = 1
Const xlPrevious = 2
For Each objsheet1 In objworkbook2.Sheets
With objsheet1
If .Name = "Name1" Then
LastRow = .Cells.Find("*",.Range("A1"),xlPart,xlFormulas,xlByRows,xlPrevious,False).Row
For i = 1 To LastRow Step 1
For j = 1 To 15 Step 1
.Cells(i, j).Value = Replace(.Cells(i, j).Value, my_old_string, my_new_string)
'' If InStr(1, .Cells(i, j).Value, my_old_string) Then
'' .Cells(i, j).Value = Replace(.Cells(i, j).Value, my_old_string, my_new_string)
'' End If
Next
Next
End If
End With
Next