Print side | Luk vindue

Find fejlen

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3619
Udskrevet den: 02.Maj.2024 kl. 09:03


Emne: Find fejlen
Besked fra: MrC
Emne: Find fejlen
Posteringsdato: 14.Sep.2018 kl. 10:58
Hej

Jeg har et excel regneark med vba koden:

Function GetTheNum2(sInp As String, prefix As String, nDigits As Long) As String

    With CreateObject("vbscript.regexp")
        .Pattern = prefix & "\d{" & nDigits & "}"
        If .Test(sInp) Then
            GetTheNum2 = .Execute(sInp)(0).Value
        End If
    End With

og jeg bruger den sådan

Celle AK2 = 04
Celle Y4 = " nr.: 0413190704 Jr.: 1010687304 Sag: 1605287 Ved"

=HVIS(GetTheNum2($Y4;AK$2;8)<>"";HVIS(LÆNGDE(GetTheNum2($Y4;AK$2;8))<11;VÆRDI(GetTheNum2($Y4;AKS$2;8));"");"")

Funktionen kan godt finde de to numre i stringen, men når den finder det nummer i stringen, der starter med 04 så kommer kun 7 cifre tilbage (0413190) istedet for alle 10 (0413190704)

DVS:

Celle AK2 = 04
Celle Y4 = " nr.: 0413190704 Jr.: 1010687304 Sag: 1605287 Ved"

giver 0413190 (det skulle være 0413190704)

mens

Celle AK2 = 10
Celle Y4 = " nr.: 0413190704 Jr.: 1010687304 Sag: 1605287 Ved"

giver 1010687304 (OK)

På forhånd tak for hjælpen.



Svar:
Besked fra: maxzpad
Posteringsdato: 19.Sep.2018 kl. 09:51
Prøv at ændre følgende i den sidste del af dine indlejrede HVIS-formler:

VÆRDI(GetTheNum2($Y4;AKS$2;8)) --> VÆRDI(GetTheNum2($Y4;AKS$2;10))


Mvh Max



Print side | Luk vindue