code voor find replace met voorwaarde

Status
Niet open voor verdere reacties.

CDE

Gebruiker
Lid geworden
24 apr 2018
Berichten
12
Hi, ik wil graag in een bepaalde kolom de tekst laten vervangen door 1 woord
Hiervoor wil ik zoeken of de tekst in een cel een bepaald woord bevat en vervolgens de hele tekst in die cel laten vervangen door dat ene woord.
Ik ben begonnen maar kom niet verder dan:

Sub ScoresVervangen()

Dim i

Range("A2").Select
For i = 2 To ActiveSheet.UsedRange.Rows.Count - 1
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(SEARCH(""positive"",RC[0])),""Negative"",""Positive"")"
ActiveCell.Offset(1, 0).Select
Next

End Sub

Zie voorbeeld in bijlage. De volgende resultaten zouden in de cellen moeten komen te staan:
A2: Positive
A3: Sufficient
A4: Negative
A5: Positive
A6: Sufficient
A7: Negative

Hopelijk kunnen jullie helpen?
Dank alvast!
 

Bijlagen

  • Scores voorbeeld.xlsm
    14,1 KB · Weergaven: 25
Is het altijd het laatste woord voor de eerste punt?

Code:
Sub ScoresVervangen()
Dim sv, i As Long
With Cells(1).CurrentRegion
 sv = .Value
   For i = 2 To UBound(sv)
     sv(i, 1) = Split(Split(sv(i, 1), ".")(0))(UBound(Split(Split(sv(i, 1), ".")(0))))
   Next i
 .Value = sv
End With
End Sub

Of als het woord er maar in voorkomt.

Code:
Sub hsv_2()
Dim sv,sq, i As Long, j As Long
With Cells(1).CurrentRegion
 sv = .Value
   For i = 2 To UBound(sv)
   sq = Split("positive sufficient negative")
    For j = 0 To UBound(sq)
      If InStr(sv(i, 1), sq(j)) Then
        sv(i, 1) = sq(j)
        Exit For
      End If
    Next j
  Next i
 .Value = sv
End With
End Sub
 
Laatst bewerkt:
Code:
Sub M_snb()
  sn=split("positive sufficient negative")

  for j=0 to 2
    columns(1).replace "*" & sn(j) & "*", sn(j) ,2
  Next
End sub
 
Dank voor jullie snelle reacties. Ik heb de kortste versie van snb overgenomen in mijn document en het werkt als een trein! :)

Zou hem alleen graag nog goed begrijpen.
Waarom for j=0 to 2?
 
Code:
Sub M_snb()
  sn=split("positive sufficient negative")

  msgbox lbound(sn)
  msgbox ubound(sn)
  msgbox sn(0) & vbtab & sn(1) & vbtab & sn(2)
End Sub

Code:
Sub M_snb()
  sn=split("positive sufficient negative")

  for j=lbound(sn) to ubound(sn)
    columns(1).replace "*" & sn(j) & "*", sn(j) ,2
  Next
End sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan