Avatar billede steensommer Praktikant
02. april 2003 - 23:00 Der er 12 kommentarer og
1 løsning

Store / små bogstaver

Hej hvorledes kan man vha vba bestemme at alle bogstaver i en celle konverteres til store eller små bogstaver?
vh Steen
Avatar billede jespernaur Nybegynder
02. april 2003 - 23:06 #1
Brug VBA funktionerne Ucase og LCase, for at konvertere til store hhv. små bogstaver.
Avatar billede jkrons Professor
02. april 2003 - 23:08 #2
Følgende konverterer den aktive celle til store

ActiveCell.Value = UCase(ActiveCell.Value)

og følgende til små

ActiveCell.Value = LCase(ActiveCell.Value)
Avatar billede mugs Novice
02. april 2003 - 23:10 #3
=STORE.BOGSTAVER(A3)

Indsat i f.eks celle A1, giver A1 indholdet af celle A3 i store bogstaver, men jeg tror dog ikke det er det du søger:

Nåd du forlader en celle, skal bogsteverne konverteres til store bogstaver. Men måske det kan lede dig lidt i den rigtige retning.
Avatar billede mugs Novice
02. april 2003 - 23:11 #4
Så lærte jeg også noget iaften :o)
Avatar billede steensommer Praktikant
02. april 2003 - 23:31 #5
jkrons hvor anbringes VBA koden. Det er meningen at bogstaverne skal konverteres til små eller store når cellen forlades.
vh Steen
Avatar billede bak Forsker
03. april 2003 - 09:52 #6
Højreklik på arkfanen og indsæt dette stykke kode. I dette tilfælde er det A1:A10 der skal laves om til store bogstaver.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
        Application.EnableEvents = False
        Target = UCase(Target)  'LCase(Target)
        Application.EnableEvents = True
    End If
End Sub
Avatar billede jkrons Professor
03. april 2003 - 10:44 #7
steensommer-> bals forslag er udmærket, men du mangler at fortælle under hvilke forudsætninger der skal ændres til hhv store eller små. Du kan jo ikke få begge dele samtidigt :-)
Avatar billede bak Forsker
03. april 2003 - 11:40 #8
jkrons, jeg blev lige trigget af "Du kan jo ikke få begge dele samtidigt"
Det er selvfølgelig bare pjat :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
        Target = UCase(Target)
        Target = LCase(Target)
    End If
End Sub
Avatar billede jkrons Professor
03. april 2003 - 11:46 #9
Interessant forslag :-)
Avatar billede jkrons Professor
03. april 2003 - 11:48 #10
Et godt endeløst loop :-)
Avatar billede bak Forsker
03. april 2003 - 11:50 #11
Ja, det viser da hvorfor jeg har linien Application.EnableEvents = False med :-)
Avatar billede jkrons Professor
03. april 2003 - 11:50 #12
Men spøg til side: Der må vel være en logik, der fortæller om der skal konverteres til store eller små bogstaver.
Avatar billede steensommer Praktikant
03. april 2003 - 13:06 #13
Det er nogel interessante kommentarer i har - meget lærerige ;0)
Egentlig burde bak vel også tildeles nogle point - men du har måske rigeligt i forvejen.
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