J'essaie de supprimer une partie de la chaîne. Par exemplemystring="site, site text, sales "
Je veux supprimer ' site ' de la mystère. Ma sortie requise est "texte du site, ventes"
J'utilise cette ligne de code:
s1 = Replace(mystring, "site", "")
mais j'obtiens "text, sales"
Je ne sais pas comment faire cela et j'apprécierais vraiment votre aide!
replace("site, site text, sales ","site, ","",1,1)
Vous pouvez également envoyer en paramètre la position de départ puis le nombre de fois que vous souhaitez remplacer ... (la valeur par défaut est -1)
Dans mon cas, je voulais supprimer la partie des chaînes située entre "[" et "]". Et le code suivant a très bien fonctionné.
Donc, avec la chaîne d'origine dans la colonne A (et la solution dans la colonne B):
Sub remove_in_string()
Dim i, lrowA, remChar As Long
Dim mString As String
lrowA = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lrowA
mString = Cells(i, 1).Value
If InStr(mString, "[") > 0 Then
remChar = InStr(mString, "]") - InStr(mString, "[") + 1
Cells(i, 2).Value = Left(mString, Len(mString) - remChar)
ElseIf InStr(mString, "[") = 0 Then
Cells(i, 2).Value = Cells(i, 1).Value
End If
Next
End Sub
Il y a beaucoup d'options différentes ici:
Juste en en ajoutant le coma dans la chaîne de recherche à remplacer et utilisez Trim
pour vous débarrasser des espaces:
s1 = Trim(Replace(mystring, "site,", ""))
Spécifiez le nombre de fois où vous souhaitez que la chaîne soit remplacée (le premier "1" est le début, le second le nombre de remplacements)
s1 = Trim(Replace(mystring, "site,", "",1,1))
Ou la manière dure/mauvaise, de décomposer votre chaîne en deux morceaux après la première occurrence, puis de se recombiner pour obtenir un résultat ...
TempStart = Left(mystring, InStr(1, mystring, "site") + Len(mystring) + 1)
TempEnd = Replace(mystring, TempStart, "")
TempStart = Replace(TempStart, "site", "")
mystring = CStr(TempStart & TempEnd)
Vous pouvez également utiliser la fonction MID de VB comme ceci:
Mystring=Mid(myString, 6)
le résultat sera "texte du site, ventes"
Spécifiez simplement le nombre de caractères que vous souhaitez supprimer dans la partie numéro .