Ga naar inhoud

In excel bepaalde reeks in een kolom overal 'M.' voor zetten


Aanbevolen berichten

Hoi, compleet nieuw met oa. macro's in excel heb ik het volgende bedacht om een aantal waardes aan te vullen met 'M.' Dit heb ik gedaan met het volgende: Sub Planningperformance() ' ' Planningperformance Macro ' Voegt M. toe aan de code uit P3e! ' ' Sneltoets: CTRL+SHIFT+M ' Cells.Replace What:="EXPLAN", Replacement:="M.EXPLAN", LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Cells.Replace What:="NOINFO", Replacement:="M.NOINFO", LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Cells.Replace What:="EXNEW", Replacement:="M.EXNEW", LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Cells.Replace What:="NOMC", Replacement:="M.NOMC", LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Cells.Replace What:="NSUB", Replacement:="M.NSUB", LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Cells.Replace What:="NMAP", Replacement:="M.NMAP", LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Cells.Replace What:="EXDIFF", Replacement:="M.EXDIFF", LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub Graag zou ik willen weten of dit makkelijker kan ?? Robert
Link naar reactie
[quote:cdd61d6cde="Jootje"]Robert, Zijn deze waardes allemaal in één kolom te vinden of moeten meerdere kolommen aangepast worden. Moeten alle cellen in deze kolom(men) aangepast worden of alleen cellen met een bepaalde waarde?[/quote:cdd61d6cde] Jootje, Deze waardes zijn inderdaad in 1 kolom te vinden maar er zijn inderdaad waardes die niet de M. moeten krijgen. Robert
Link naar reactie
Ik zou het zo maken dat je het replace statement maar één keer hoeft te gebruiken, mocht je nog aanpassingen hierin willen doen hoef je dit maar een keer te doen. Ik heb ook de kolom gespecificeerd en het werkblad. Kijk maar of je er iets aan hebt. Sub Wijzig() Dim varArray(6) As Variant Dim x As Integer varArray(0) = "EXPLAN" varArray(1) = "NOINFO" varArray(2) = "EXNEW" varArray(3) = "NOMC" varArray(4) = "NSUB" varArray(5) = "NMAP" For x = 0 To UBound(varArray) - 1 Worksheets("Blad1").Columns("A").Replace What:=varArray(x), Replacement:="M." & varArray(x), LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next End Sub
Link naar reactie
[quote:ae422e40ee="Jootje"]Ik zou het zo maken dat je het replace statement maar één keer hoeft te gebruiken, mocht je nog aanpassingen hierin willen doen hoef je dit maar een keer te doen. Ik heb ook de kolom gespecificeerd en het werkblad. Kijk maar of je er iets aan hebt. Sub Wijzig() Dim varArray(6) As Variant Dim x As Integer varArray(0) = "EXPLAN" varArray(1) = "NOINFO" varArray(2) = "EXNEW" varArray(3) = "NOMC" varArray(4) = "NSUB" varArray(5) = "NMAP" For x = 0 To UBound(varArray) - 1 Worksheets("Blad1").Columns("A").Replace What:=varArray(x), Replacement:="M." & varArray(x), LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next End Sub[/quote:ae422e40ee] Heb het ingevoerd en het werkt perfect! Heb de lijst vergroot naar 8 ipv 6. Heb nu ook een boek gehaald Leer jezelf macro's prgrammeren met VBA. Robert
Link naar reactie
Robert, Misschien dat de find opdracht in Excel 2000 iets anders is. Om dit te controleren neem je even een zoekopdracht op en controleer je op de find hetzelfde is. Je kan ook in je code een breakpoint zetten, zodat je kan zien waar het fout gaat. (in code voor de regel gaan staan en dan op de linkermuis toets drukken, er verschijnt nu een rode bol. Je kunt nu m.b.v. F8 door de code heen lopen)
Link naar reactie
[quote:5afd9c796c="Jootje"]Robert, Misschien dat de find opdracht in Excel 2000 iets anders is. Om dit te controleren neem je even een zoekopdracht op en controleer je op de find hetzelfde is. Je kan ook in je code een breakpoint zetten, zodat je kan zien waar het fout gaat. (in code voor de regel gaan staan en dan op de linkermuis toets drukken, er verschijnt nu een rode bol. Je kunt nu m.b.v. F8 door de code heen lopen)[/quote:5afd9c796c] Hier is de code voor een find op mijn werk ( kon remote login doen :D ) Cells.Replace What:="EXPLAN", Replacement:="M.EXPLAN", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Robert
Link naar reactie
[quote:afa865beb4="Jootje"]Robert, Wordt de macro wel uitgevoerd?[/quote:afa865beb4] Ja maar met een foutmelding! 'Run-time error '1004' Application-defined or Object-defined error En als ik dan debug doe krijg ik in het geel: Worksheets("Blad1").Columns("A").Replace What:=varArray(x), Replacement:="M." & varArray(x), LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Hier gaat dus iets mis !! Robert
Link naar reactie
Robert, Probeer dit eens: Sub Wijzig() Dim varArray(6) As Variant Dim x As Integer varArray(0) = "EXPLAN" varArray(1) = "NOINFO" varArray(2) = "EXNEW" varArray(3) = "NOMC" varArray(4) = "NSUB" varArray(5) = "NMAP" For x = 0 To UBound(varArray) - 1 Sheets("Blad1").Range("A:A").Select Cells.Replace What:=varArray(x), Replacement:="M." & varArray(x), LookAt:=xlWhole, _ SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next End Sub Ben benieuwd of dit wel werkt.. Gr. Jolanda.
Link naar reactie
[quote:4a8ad29edc="Jootje"]Ik zou deze replace opdracht gebruiken en alleen de find en replace vervangen door jouw code. Verder alles laten staan. Ben benieuwd of het gaat werken.[/quote:4a8ad29edc] Maar dan ben ik gewoon weer terug bij een lange lijst met alle namen erin ..... dat is wel jammer. Robert
Link naar reactie
Robert, Nee wat ik bedoel is wijzig alleen het replace statement dus: Cells.Replace What:="A", Replacement:="B", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False Cells.Replace What:=varArray(x), , Replacement:="M." & varArray(x), LookAt:=xlWhole, SearchOrder _ :=xlByRows, MatchCase:=False
Link naar reactie
[quote:7920b180f5="Jootje"]Robert, Nee wat ik bedoel is wijzig alleen het replace statement dus: Cells.Replace What:="A", Replacement:="B", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False Cells.Replace What:=varArray(x), , Replacement:="M." & varArray(x), LookAt:=xlWhole, SearchOrder _ :=xlByRows, MatchCase:=False[/quote:7920b180f5] He Jootje, het is gelukt; eerst niet maar dat kwam omdat de regel was afgebroken. Deze weer gecorrigeerd en de , , veranderd in een enkele comma en nu werkt ie. FF een paar keer geprobeerd en toppie......... Robert
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...