Avatar billede Henrik_Hallengreen Nybegynder
07. august 2013 - 17:32 Der er 3 kommentarer og
1 løsning

Macro, som kan søge på ord som begynder med "x" og ændre teksten i anden celle i rækken

Hej Alle

Jeg søger råd til at kunne lave en Macro i excel som kan søge i en bestemt kolonne efter ord som begynder med f.eks "el..." og "damp..."  herefter skal den så kunne ændre teksten i en anden celle fra samme række men i en anden kolonne.

eks:
                  Kolonne 1:          Kolonne 2:   
Række 1            ja              elcykel type 1                 
Række 2          nej              elscooter type3             
Række 3            ja                  dampskib
Række 4            ja                  dampbus
Række 5            ja                  cykel
           

Her ville jeg gerne kunne søge så jeg både fanger elcykel, elscooter, dampskib og dampbus og så ændre teksten i kolonne 1 til feks. "yes"

Nogen som kan hjælpe ? Også evt hvis man har mere en et ord man søger efter ?
pft
Avatar billede KurtOA Praktikant
07. august 2013 - 22:09 #1
Det kunne måske løses vha af denne?

Sub checkup()

Dim lastrow As Long
Dim x As Long

lastrow = Range("B1").SpecialCells(xlLastCell).Row

For x = 3 To lastrow
' starter i række 3 aht til overskrifter eller titler

' undersøger 4 betingelser - kan indstilles til flere
If UCase(Left(Cells(x, 2), 2)) = "EL" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 4)) = "DAMP" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 3)) = "GAS" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 5)) = "BRINT" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 6)) = "HELIUM" Then Cells(x, 1) = "Ja"

'sætter Nej hvis ikke betingelser ovenfor er opfyldt...
If Not Cells(x, 1) = "Ja" Then Cells(x, 1) = "Nej"
Next x

End Sub

mvh Kurt
Avatar billede msl_ddm Nybegynder
08. august 2013 - 11:00 #2
Som jeg læser det kan det løses via en formel istedet.
Jeg ved dog ikke om det er hvad du søger.

Indsæt denne formel i A2:
=HVIS(HVIS.FEJL(FIND($A$1;B2);"nej")=1;"ja";"nej")

I A1 skriver du det søgeord din tekst starter med, f.eks. "damp".

I B2 kommer din første opslagsværdi, f.eks. dampskib.
Avatar billede Henrik_Hallengreen Nybegynder
08. august 2013 - 14:06 #3
Mange tak for svaret KurtOA, det virkede helt perfekt.

Et tillægsspørgsmål:
Hvis jeg har tre svar i kolonne 1 "ja", "nej" og "måske" hvordan kan jeg flætte det ind i denne macro ?
For så skal jeg vel have en if not betingelse mere, men virker den så ?

pft
Henrik
Avatar billede KurtOA Praktikant
08. august 2013 - 14:47 #4
selvfølgelig kan det laves ;-)
spm er bare hvordan det er smartest for dig....

linien herunder checker om der er skrevet "Ja"
- ellers skriver den "nej"
If Not Cells(x, 1) = "Ja" Then Cells(x, 1) = "Nej"

Hvis du fjerner linien skrives der ikke noget og du kan selv manuelt skrive det ind..
Du kan evt selv skrive "måske" og så bruge denne istedet:

Sub checkup()

Dim lastrow As Long, x As Long
lastrow = Range("B1").SpecialCells(xlLastCell).Row

For x = 3 To lastrow ' starter i række 3 aht til overskrifter eller titler

' undersøger betingelser - kan indstilles til flere
If UCase(Left(Cells(x, 2), 2)) = "EL" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 4)) = "DAMP" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 3)) = "GAS" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 5)) = "BRINT" Then Cells(x, 1) = "Ja"
If UCase(Left(Cells(x, 2), 6)) = "HELIUM" Then Cells(x, 1) = "Ja"

'sætter Nej hvis ikke betingelser ovenfor er opfyldt eller der står "måske" i cellen ...
If UCase(Cells(x, 1)) <> "JA" And UCase(Cells(x, 1)) <> "MÅSKE" Then Cells(x, 1) = "Nej"

Next x

End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester