Avatar billede kamak Praktikant
29. august 2006 - 10:30 Der er 9 kommentarer og
1 løsning

Cellers indhold skal verificeres af regulært udtryk

Hej
Kan man lave et regulært udtryk som tilknyttes en celle således at cellens indhold skal overholde det regulære udtryk?
Håber I forstår :-)
Avatar billede miqe Nybegynder
29. august 2006 - 10:33 #1
Du kan i hvert fald lave nogle betingede formateringer, så det bliver meget synligt, når data er forkert. Du kan også lave f.eks. if-statements (hedder hvis i den danske version), der kan ændre indholdet, hvis det ikke falder indenfor dine rammer.
Avatar billede kamak Praktikant
29. august 2006 - 10:48 #2
Hvad hvis jeg foreksempel kun vil have gyldige emailadresser på formatet string@string.string  hvor string er en hvilken som helst string.
Avatar billede mrjh Novice
29. august 2006 - 11:29 #3
Prøv denne formel i A1 under datavalidering, brugedefineret, formel

=IKKE(ER.FEJL(SØG("*@*.*";A1)))
Avatar billede kamak Praktikant
29. august 2006 - 12:02 #4
Det ser meget fornuftigt ud men jeg bruger den engelske version af excel
Avatar billede mrjh Novice
29. august 2006 - 12:18 #5
Denne tror jeg er bedre.
=IKKE(ER.FEJL(SØG("?@?*.??*";G7)))
De engelske funktioner må jeg blive dig svar skyldig. Prøv at kigge i din funktionsoversigt om du kan finde NOT, ISERROR, SEARCH, så må det være noget i den retning.
Avatar billede kamak Praktikant
29. august 2006 - 12:42 #6
Jeg kan indtaste =NOT(ISERROR(SEARCH("?@?*.??*";G7))) som en gyldig formel men jeg kan ikke skrive noget i feltet der accepteres. Hvad gør A1 og G7 egentlig?
Avatar billede mrjh Novice
29. august 2006 - 12:46 #7
Aarhh sorry. Formlen skal indsættes under datavalideringen for cellen G7 f.eks. Den første var for A1. Altså i den celle indtastningen skal valideres.
Avatar billede kamak Praktikant
29. august 2006 - 13:09 #8
Nu virker det :-)
Ved du hvordan man angiver tegn der ikke må forekomme (f.eks. mellemrum) og tegn der kun må forekomme en gang i træk (f.eks. punktum).
Avatar billede mrjh Novice
12. september 2006 - 09:28 #9
Havde helt glemt denne
Kopier flg. kode ind i arkets kodemodul.
Den virker på alt hvad du indtaster i kolonne A, ellers tilret området


Private Sub worksheet_change(ByVal target As Range)
Set rng = Range("A:A")
If Intersect(rng, target) Is Nothing _
Or target.Value = "" Then
Exit Sub
End If
If Right(target, 3) = LCase(".dk") Then
    antal = Len(target)
    For i = 1 To antal
        tegn = Mid(target, i, 1)
        If tegn = "@" Then
            tæl1 = tæl1 + 1
        End If
        If tegn > Chr(123) Or tegn < Chr(96) Then
            If tegn > Chr(57) Or tegn < Chr(48) Then
                If tegn <> Chr(46) And tegn <> Chr(64) Then
                    GoTo fejl
                End If
            End If
        End If
    Next i
    If tæl1 = 1 Then
        Exit Sub
    End If
End If
fejl:
MsgBox "Ugyldig indtastning"
target.Select
Application.SendKeys ("{F2}")
End Sub
Avatar billede mrjh Novice
21. september 2006 - 22:34 #10
*
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