anoniem Geplaatst: 26 juni 2007 Delen Geplaatst: 26 juni 2007 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 Quote Link naar reactie
anoniem Geplaatst: 28 juni 2007 Auteur Delen Geplaatst: 28 juni 2007 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 Link naar reactie
anoniem Geplaatst: 30 juni 2007 Auteur Delen Geplaatst: 30 juni 2007 [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 Quote Link naar reactie
anoniem Geplaatst: 30 juni 2007 Auteur Delen Geplaatst: 30 juni 2007 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 Link naar reactie
anoniem Geplaatst: 30 juni 2007 Auteur Delen Geplaatst: 30 juni 2007 Hoi Jootje, Ga ik proberen !! Als ik hier wat meer van wil snappen wat kan ik dan het beste 'kopen' ? Visual Basic of iets van excel of beide ?? Robert Quote Link naar reactie
anoniem Geplaatst: 30 juni 2007 Auteur Delen Geplaatst: 30 juni 2007 [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 Quote Link naar reactie
anoniem Geplaatst: 2 juli 2007 Auteur Delen Geplaatst: 2 juli 2007 Help !! De bovenstaande code werkt wel thuis excel 2003 maar niet op het werk met Excel 2000. Ik snap niet waarom ?? Robert Quote Link naar reactie
anoniem Geplaatst: 2 juli 2007 Auteur Delen Geplaatst: 2 juli 2007 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 Link naar reactie
anoniem Geplaatst: 2 juli 2007 Auteur Delen Geplaatst: 2 juli 2007 Robert, Wordt de macro wel uitgevoerd? Quote Link naar reactie
anoniem Geplaatst: 2 juli 2007 Auteur Delen Geplaatst: 2 juli 2007 [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 Quote Link naar reactie
anoniem Geplaatst: 2 juli 2007 Auteur Delen Geplaatst: 2 juli 2007 [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 Quote Link naar reactie
anoniem Geplaatst: 2 juli 2007 Auteur Delen Geplaatst: 2 juli 2007 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. Quote Link naar reactie
anoniem Geplaatst: 4 juli 2007 Auteur Delen Geplaatst: 4 juli 2007 Hoi Jolanda, ik krijg nu een foutmelding: Compile error ( Needed argument not found ). Hij stop dan bij SearchFormat:=False Weet niet wat dat nou weer moet zijn maar de versie zal er wel mee te maken hebben. Robert p.s. Op het werk zit versie 6.3 ( VBA 6.4 ) Quote Link naar reactie
anoniem Geplaatst: 4 juli 2007 Auteur Delen Geplaatst: 4 juli 2007 Robert, Kijk eens naar de opdracht replace en kijk welke opties je kunt gebruiken. Waarschijnlijk staat er nu een optie vermeld die in 2000 niet aanwezig is. Wat je even kunt doen is een macro opnemen met een replace opdracht erin. Hoor graag of het gelukt is. Gr. Jolanda. Quote Link naar reactie
anoniem Geplaatst: 5 juli 2007 Auteur Delen Geplaatst: 5 juli 2007 Jolanda, ik zal het trachten zelf te doen; misschien kun jij er ook vast over nadenken. Dit is een zoek en vervang opdracht in excel 2000. Cells.Replace What:="A", Replacement:="B", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False Robert Quote Link naar reactie
anoniem Geplaatst: 5 juli 2007 Auteur Delen Geplaatst: 5 juli 2007 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 Link naar reactie
anoniem Geplaatst: 5 juli 2007 Auteur Delen Geplaatst: 5 juli 2007 [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 Quote Link naar reactie
anoniem Geplaatst: 8 juli 2007 Auteur Delen Geplaatst: 8 juli 2007 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 Link naar reactie
anoniem Geplaatst: 8 juli 2007 Auteur Delen Geplaatst: 8 juli 2007 [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 Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen