12. oktober 2012 - 13:04Der er
12 kommentarer og 1 løsning
Indsætte FALSE i mange lookups
Jeg har et excelark med over 2.500 hlookup's.
Eks. =HLOOKUP(AP60;'Alle data'!$AV$5:$BN$45;3)
Kun meget få af disse lookups har den sidste parameter FALSE, resten har ikke udfyldt parametren.
Eks. med FALSE =HLOOKUP(AP60;'Alle data'!$AV$5:$BN$45;3;FALSE)
Kan nogen hjælpe mig med at lave en makro der indsætter FALSE i alle mine lookups? Hvis den kan tage højde for de formler hvor FALSE allerede er angivet ville det være lækkert, men jeg kan evt. håndtere det manuelt.
Hvis de mange HLOOKUP's står uden en masse andre formler ind i mellem, ville jeg bruge Søg & Erstat.
Søg efter: 3) Erstat med: 3;FALSE)
Søg efter: 4) Erstat med: 4;FALSE)
osv.
Synes godt om
Slettet bruger
12. oktober 2012 - 14:18#2
Hvorfor ikke bare markere alle celler med HLOOKUP-formler der skal redigeres, tryk på F2 og skriv FALSE som sidste argument og herefter blot holde Ctrl tasten nede før du trykker på enter?
Erikjuul> Der er for mange andre formler der vil blive påvirket ved søg erstat på tallene fra "0)" - "9)", der skal være semikolon foran ";0)" for at det kan give mening, og så er vi oppe på 1-60.
Mit bud på en VBA løsning skrevet med alm sprog: 1: Find teksten "hlookup(" 3: Check om der står FALSE lige før slutparentesen, hvis ikke, så indsæt ";FALSE"
Koden skal loope gennem alle celle i alle ark i projektmappen.
Supertekst> Er ovenstående fyldestgørende? Eller skal jeg lave en eksempelfil?
Det er ok - har et bud: Indlægges under et ark / Højreklik / Vis programkode / indsæt nedenstående. OBS: Anvendelse af makroer skal være sat til.
Dim antalRækker As Long, antalKolonner As Long, ark As Worksheet Dim cc As Object, dele As Variant Sub udvidLookUp() For Each ark In ActiveWorkbook.Sheets ark.Select antalRækker = ActiveCell.SpecialCells(xlLastCell).Row antalKolonner = ActiveCell.SpecialCells(xlLastCell).Column
With ark For Each cc In .Range(.Cells(1, 1), .Cells(antalRækker, antalKolonner)).Cells If cc.HasFormula = True Then adr = cc.Address
If InStr(LCase(cc.Formula), "false") = 0 And _ InStr(LCase(cc.Formula), "hlookup") > 0 Then ff = Left(cc.Formula, Len(cc.Formula) - 1) & ",FALSE)" cc.Formula = ff End If End If Next cc End With Next ark End Sub
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.