Avatar billede Bumle Mester
25. april 2016 - 15:25 Der er 7 kommentarer og
1 løsning

Vba efterlad celle tom, hvis den indeholder bestemt tegn

Hej derude,
Jeg har en lille en her:
Er det muligt, at lave en vba på, at hvis cellerne i et ark indeholder tegnet _ , så skal cellen tegnet er i være blank?
Eksempel: ark 1 indeholder en masse tal osv, men i cellerne b1:b10 og d4:d13 indeholder de tegnet_ .
Disse celler skal så ikke vise dette tegn, men være tomme/blanke.
Kan jo godt lave en logisk test formel i hver enkelt celle, men vil helst have det i vba.
Håber, at det kan lade sig gøre..
På forhånd tak
Avatar billede supertekst Ekspert
25. april 2016 - 18:08 #1
Det er vel ikke kun de nævnte områder "b1:b10 og d4:d13", der skal have slettet "_"?

Er der i nævnte celler ikke andre tegn end "_" - så det er ikke en "understregning" - eller?

Hvordan/hvornår skal den nævnte VBA-kode udføres?
Avatar billede store-morten Ekspert
25. april 2016 - 18:38 #2
Og hvor kommer "_" fra? Er der formler i cellerne?
Avatar billede Bumle Mester
25. april 2016 - 18:47 #3
Hej igen,
Ja, der er formler i cellerne med underscore tegnet.
Formlen i de enkelte celler er blot = et andet celle nr, så de henter/gengiver det som står i en anden celle.
F.eks i celle b1 er formlen =ark2 celle b1, hvilket jo så gengiver data fra denne celle i dette ark.
Underscore tegnet har jeg selv valgt, at der skal stå i et Lopslag, når den laver et lopslag i en tom celle.
Angående om det kun er i de enkelte celler som jeg giver eksempel på, så er der flere celler, men tænkte at man kunne sætte range i vba til, at dække hele arket.
Avatar billede Bumle Mester
25. april 2016 - 18:52 #4
Måske problemet er, at underscore tegnet i celler er en formel og ikke bare skrevet i cellen?
Ellers så må jeg bare lave arket lidt om, men det er bare lidt øv nu :-)
Avatar billede store-morten Ekspert
25. april 2016 - 19:22 #5
F.eks i celle b1 er formlen =ark2 celle b1

=HVIS('Ark2'!B1="_";"";'Ark2'!B1)
Avatar billede store-morten Ekspert
25. april 2016 - 21:30 #6
En lille makro til at ændre formel til Hvis-formel.

F.eks i celle B1 er formlen ='Ark2'!B1
Marker B1, og kør:

Sub test()
Dim c As Range
For Each c In Selection
    formel = Replace(c.Formula, "=", "", , 1)
    c = "=IF(" & formel & "=""_"",""""," & formel & ")"
Next c
End Sub

Resultat: =HVIS('Ark2'!B1="_";"";'Ark2'!B1)

Flere celler kan markeres samtidig, eks. B1:B10 og D4:D13

Husk at teste i en kopi, kørte makroer kan ikke fortrydes ;-)
Avatar billede Bumle Mester
26. april 2016 - 22:55 #7
Det spiller jo bare!!
Tak for hjælpen og send lige et svar Morten, så lukker jeg den :)
Mange tak
Avatar billede store-morten Ekspert
27. april 2016 - 05:24 #8
Den er god :-)
Du får et 'svar'
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

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