Avatar billede rickie Juniormester
19. maj 2003 - 09:25 Der er 13 kommentarer og
1 løsning

Förste bogstav som versal (Makro)

Hej (igen) alle eksperter.

Er der nogen der skulle kunne oprette ett makro til mig som går igennem hele Ark2 og laver förste bogstav i alle ord til versal.
Jeg skal kunne stå i Ark1 men stadig kunne bruge makroet skal lave beregningen i Ark2.

Håber på hjälp :-)
Avatar billede jkrons Professor
19. maj 2003 - 09:52 #1
Prøv denne

Sub stb()
  For Each c In Worksheets(2).UsedRange.Cells
      c.Value = UCase(Left(c.Value, 1)) & LCase(Mid(c.Value, 2, Len(c.Value)))
      Next c
End Sub
Avatar billede jkrons Professor
19. maj 2003 - 09:53 #2
Den laver første bogstav med stort, øvrige bogstaver med småt.

Skal øvrige bogstaver forblive som de allerede er, så brug denne variant

Sub stb()
  For Each c In Worksheets(2).UsedRange.Cells
      c.Value = UCase(Left(c.Value, 1)) & Mid(c.Value, 2, Len(c.Value))
      Next c
End Sub
Avatar billede rickie Juniormester
19. maj 2003 - 10:03 #3
Det virker desværre ikke :-( Jeg får en fejl...
Avatar billede jkrons Professor
19. maj 2003 - 10:06 #4
Hvilen fejl?
Avatar billede rickie Juniormester
19. maj 2003 - 10:12 #5
En eller anden slags komplimeringsfejl. Den markerer Sub stb() og oplyser, at der er en fejl.
Avatar billede jkrons Professor
19. maj 2003 - 10:14 #6
Hvilken version af Excel taler vi om?
Avatar billede hcm Nybegynder
19. maj 2003 - 10:14 #7
Funktionen proper() kan også klare dette.
Avatar billede jkrons Professor
19. maj 2003 - 10:20 #8
Rigtigt. Så denne makro er nok i virkeligheden bedre:

Sub stb()
For Each c In Worksheets(2).UsedRange.Cells
c.Value = WorksheetFunction.Proper(c.Value)
Next c
End Sub
Avatar billede rickie Juniormester
19. maj 2003 - 10:29 #9
Jeg får svaret "udefineret variabel" og c i "for each c" blev highlighted.
Jeg har Excel version 2002
Avatar billede jkrons Professor
19. maj 2003 - 10:32 #10
OK. Har du "options Explicit" øverst i dit modul.
Avatar billede jkrons Professor
19. maj 2003 - 10:35 #11
Under alle omstændigheder prøv med

Sub stb()
dim c
For Each c In Worksheets(2).UsedRange.Cells
c.Value = WorksheetFunction.Proper(c.Value)
Next c
End Sub
Avatar billede rickie Juniormester
19. maj 2003 - 10:36 #12
Ja, det har jeg - som en anden makro :-)
Avatar billede rickie Juniormester
19. maj 2003 - 10:38 #13
Og det virker bare perfekt :-)))

Tusind mange tak for hjælpen og fortsat god dag :-)
Avatar billede jkrons Professor
19. maj 2003 - 10:39 #14
I ligemåde- og velbekomme ;-)
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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