01. august 2003 - 13:32Der er
10 kommentarer og 1 løsning
Søg og Erstat i VBA
Hej derude i varmen
Jeg forsøger at rette nogle formler med en række forskellige adresser som macroen selv sætter (Dim = Celle1) Når jeg kører macroen trinsvis "oversættes" formlen korrekt men rettes ikke i arket !!
Public Sub Omdøb_formler()
Dim Celle1 As String Dim Celleværdi As String Dim Celleværdi1 As String Dim Celleværdi2 As String Dim Celleværdi3 As String Dim Celleværdi2A As String Dim Celleværdi3A As String
For mig at se, så virker loopet ikke da du hele tiden går tilbage til D3, dvs at celle1 bliver = D3 igen og så får du jo ikke erstattet noget :-) prøv at flytte Range("D3").Select ud af loopet
Virker desværre stadig ikke: D3 indikere startcelle; jeg flytter bare Range("D3").Select foran "Do Until. Celle1 skifter til den rigtige værdi under afvikling af macroen men får ikke rettet formlen til
Der er noget galt her, måske er det varmen :-) Hvad er det du ønsker den makro skal lave ? Hvis jeg lige ser bort fra Range("D3").Select, så ser det ud til at du vil ændre E19:E58 fra indtastning!$D$3 til indtastning!$D$3 Derefter vil du spinge hver anden kolonne indtil der står "695" i tredje række. Her vil du ændre G19:G53 (indtastning!$D$3) til indtastning!$F$3 osv. Er det korrekt? Du er velkommen til at sende arket til Tommybak@netscape.net, men lav lige et indlæg hvis du gør det.
Beklager at jeg ikke har formuleret mig 100 % klart. Jeg har prøvet din nye kode; men regnereglen ændres desværre ikke selvom variablerne oversættes korrekt når jeg kører macroen trinvis. Jeg tillader mig at fremsende regneark med kode.
Jeg har kigget på dit ark. Der er et par forhindringer, der heldigvis kan fjernes. Den største/værste er at du i række 3 bruger flettede celler. Da du hele tiden refererer til celler i række 3 virker makroen ikke. Du skal ophæve fletning af celler i hele række 3. (marker hele rækken, i menuen Formater - celle - på andet faneblad fjerner du fluebenet i Flet Celler)
den anden forhindring kan det at det kun er mig der har fordi jeg bruger en engelsk version, men i makro skal semikolon erstattes med komma.
Public Sub Omdøb_formler() Dim Repl As String Dim Celle1 As String Dim Rng As Range
Range("D3").Select
Do Until ActiveCell.Value = "695" Celle1 = ActiveCell.Address Set Rng = Range(Range(Celle1).Offset(16, 1), Range(Celle1).Offset(16 + 39, 1)) Repl = ",0),SAMMENLIGN(indtastning!" & Celle1 Rng.Replace What:=",0),SAMMENLIGN(indtastning!$D$3", Replacement:=Repl, LookAt:=xlPart Range(Celle1).Offset(0, 2).Select Loop
Kim-> Fejlen er fundet. Jeg har nu testet i dansk excel. Replace kommandoen virker (i VBA) på den bagvedliggende engelske formel. Da SAMMENLIGN svarer til MATCH, skal makroen se således ud. Det var jo ikke noget problem da jeg testede i den engelske udgave, hvor alle formlerne jo var oversat til engelsk.
Public Sub Omdøb_formler() Dim Repl As String Dim Celle1 As String Dim Rng As Range
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.