Avatar billede rpi Nybegynder
22. august 2003 - 14:59 Der er 7 kommentarer og
2 løsninger

Autocorrect på bestemte celler?

Hejsa

Jeg har brug for at lave en autocorrect på bestemte celler således at når man f.eks taster 0 skal det omsættes til "Test", 1 til "test2" osv.
Ved hjælp af autocorrect option kan dette sagtens lade sig gøre men på hele arket - jeg har kun brug for det på bestemte celler!
Jeg bruger Microsoft Excel 2002 SP-1
Avatar billede bak Forsker
22. august 2003 - 16:09 #1
Det tror jeg ikke kan lade sig gøre, men du kan lave en makro der gør det for dig.
Her er et llle eksempel, der indsættes i arkets eget kodemodul (højreklik på arkfanen vælg "Vis programkoder")

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Range
Set x = Union(Range("a1"), Range("b2"), Range("C3"))
If Not Intersect(Target, x) Is Nothing Then
    Select Case Target.Value
        Case 0: Target.Value = "test"
        Case 1: Target.Value = "test2"
        Case 3: Target.Value = "Sluttest"
        Case Else
    End Select
End If
End Sub
Avatar billede rpi Nybegynder
22. august 2003 - 16:18 #2
Hej bak

Det fungere fint, men det er rimelig mange celler jeg skal lave det i fra f6 til f500. Findes der en kommando istedet for union der kan tage dette område?
Avatar billede rpi Nybegynder
22. august 2003 - 16:21 #3
Hej bak

Har fundet ud af det, tak for hjælpen
Avatar billede rpi Nybegynder
22. august 2003 - 16:35 #4
Hej bak

Det er lang tid siden jeg har brugt eksperten, jeg syntes ikke jeg har mulighed for at tildele dig pointene? Er der kommet en ny procedure?
Avatar billede bak Forsker
22. august 2003 - 16:52 #5
Nej, jeg skal bare lige smide et svar :-)


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F3:F600")) Is Nothing Then
    Select Case Target.Value
        Case 0: Target.Value = "test"
        Case 1: Target.Value = "test2"
        Case 3: Target.Value = "Sluttest"
        Case Else
    End Select
End If
End Sub
Avatar billede rpi Nybegynder
22. august 2003 - 16:53 #6
Jeg var måske lidt for hurtig, det fungere som sagt ok hvis jeg ændre celles værdi i case 0: bliver det "test" osv. Problemmet er bare at jeg kopiere en blok ind på F6:F500 med værdierne 0-5 det opfatter Excel altså ikke som en Worksheet_Change og ændre derfor ikke værdierne - er der en løsning til dette?
Avatar billede kabbak Professor
25. august 2003 - 22:11 #7
læg denne makro i et modul og kør den

Public Sub ret()
Range("F3:F600").Select
For Each C In Selection
If C = "" Then GoTo Videre
Select Case C.Value
        Case 0: C.Value = "test"
        Case 1: C.Value = "test2"
        Case 3: C.Value = "Sluttest"
        Case Else
        C.Value = C.Value
    End Select
Videre:
Next
End Sub
Avatar billede rpi Nybegynder
26. august 2003 - 13:57 #8
Jeg har kunne bruge noget af det, kabbak og bak er du den sammme jeg vil gerne accepter dit/jeres svar!
Avatar billede kabbak Professor
26. august 2003 - 14:16 #9
nej, vi er to forskellige
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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