• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

bug ?

Status
Niet open voor verdere reacties.

jan excel

Gebruiker
Lid geworden
4 mrt 2007
Berichten
437
Hallo Experts,

Een automatisering systeem genereert bij ons meerdere zg. herkenningscijfers van meer dan 15 karakters.
Deze wil ik in excel inladen om een controle hierop te doen.
Echter Excel kan blijkbaar niet met getallen omgaan met meer dan 15 karakters, alle cijfers worden na 15 karakters als nul weergeven.

Is dit een bug ?

Is er een manier dat een getal van meer dan 15 karakters toch in Excel juist wordt weer gegeven.




groet,
Jan E
 
Ik zou er een getal van maken

Beste,

in de bijlage zie je dat als je er een getal van maakt dat de weergave wel goed, en tevens zullen de formules ook werken

Bekijk bijlage getal.xlsx

groet HWV
 
Hoi Sylvester en HWV,


HWV
De 16e karakter is een nul en dat is nu het probleem, welk getal je na de 15e karakter er ook neer zet het worden allemaal nullen.
Zet in jou voorbeeld er maar eens andere nummer(s) erbij je zult zien dat het allemaal nullen worden.
Dit doet het dus ook als ik de de unieke nummers met meer als 15 karakters importeer vanuit ons automatiseringsysteem.

Sylvester,
Als tekst heb ik het ook geprobeerd echter als ik het dan weer als getal wil converteren worden vanaf karakter 16 het weer allemaal nullen.

groet,
Jan
 
Het is in ieder geval geen luis, maar inherent aan de rekenmethoden van Excel.
 
Je wil met de controlereeks toch niet rekenen ?

Code:
    Cells(1, 1) = Format(2 * Val("12345678912345789"), "'@")
 
hoi SNB,

Jou code heb ik getest, zie bijlage.
Nee er behoeft niet gerekend worden aan de cijferreeks echter controle op dubbele nummers.

Hiervoor gebruik onderstaande VBA code.
De getallen reeks van meer dan 15 karakters beginnen in mijn project vanaf range M13

Code:
Sub OntDubbelen()
Dim Mr As Range
Set wf = Application.WorksheetFunction
   
    Range("M13").Select
    Range("M:M").FormatConditions.Delete
    Range("M1:M" & LastRow()).FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=AANTAL.ALS($M:$M;$M1)>1"
    Range("M1:M" & LastRow()).FormatConditions(1).Interior.ColorIndex = 6
Set Mr = Range("M13:M" & LastRow())
For Each cl In Mr
If wf.CountIf([Mr], cl.Value) > 1 Then
Mcel = cl.Address
Range(Mcel).Select

MsgBox ("deze nummer staat er " & wf.CountIf([Mr], cl.Value) & " X in.")


End If
Next
[M1].Select
End Sub


Public Function LastRow() As Long
    Application.Volatile
    LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End Function


Hopelijk weet jij een oplossing of iemand anders ?

Alvast bedankt.
Jan EBekijk bijlage voorbeeld1.xlsm
 
Hoi Sylvester,

Zie zo niet wat voor stukje code je mist, heb je wel naar beneden gescrold in de tag ?

groet,
Jan
 
Ook ik zie in M13 - M1000000 geen gegevens staan.

om de dubbelen in kolom M vanaf M13 weer te geven in kolom N gebruik ik:

Code:
Sub M_snb()
    Names.Add "snb_002", Range(Cells(13, 13), Cells(Rows.Count, 13).End(xlUp))
    [snb_002].Offset(, 2) = [if(countif(snb_002,snb_002)=1,"",snb_002)]
End Sub

Ik zie nog niet het verband met de grote getallenreeksen (ik noem het geen getallen want het zijn letterreeksen van cijfers).

Te schrijven met:

Code:
Sub M_snb_000()
Cells(1, 1) = "'12345678912345789123456789"
End Sub
 
Laatst bewerkt:
Hoi SNB,

Bedankt voor je reactie. De code van jou schrijft inderdaad de dubbelen naar kolom N.

Echter bij het importeren van de grote getallen reeks blijft het vervelende probleem dat na de 15e karakter de nullen komen.
Hiervan uit mijn thuis situatie kan ik geen gegevens importeren vanuit betreffende applicatie.
Morgen ben ik op de zaak en zal eens kijken als ik betreffende kolom als tekst kan importerenen kijken of dat het gewenste resultaat oplevert.
Zo niet zal ik een kopie maken van orginele output uit het programma en met jullie delen, maar dat zal dan pas morgen zijn.

Als het wel lukt zal ik dit natuurlijk ook laten weten.

groetjes en prettige avond verder.
Jan E
 
Goede morgen allen,

Vandaag de serie nummers als text geimporteerd nu dient het nog te controleren op aanwezigheid van dubbele serie nummers.
In de bijlage staat e.e.a. toegelicht en een voorbeeld code (van Jeanpaul28) dat met getallen op dubbele serie nummers controleerd.
Ik denk dat als jullie de bijlage lezen wel duidelijk wordt wat de bedoelingen zijn.

alvast bedankt,
Jan E

Bekijk bijlage HLPmij_1.xlsm
 
Code:
Sub M_snb()
   Sheets("china").UsedRange.Columns(17).NumberFormat = "@"
   [Q13:Q3000] = [if(O13:O3000="","","_"&O13:O3000)]
   [Q13:Q3000] = [if(Q13:Q3000="","",if(countif($Q$13:$Q$3000,Q13:Q3000)=1,"",Q13:Q3000))]
End Sub
 
Hoi SNB,

Bedankt voor je code, echter dit is niet helemaal wat ik bedoel.
het is niet de bedoeling dat de dubbele serie nummers worden verplaatst naar andere kolom.
Het liefst zou ik deze in dezelfde kolom willen laten staan en dan geel markeren en via een msgbox een melding krijgen hoe vaak het zelfde serie nummer voorkomt.
Misschien is dit wel niet eens mogelijk omdat het om text karakters gaat, maar mijn kennis van VBA gaat niet zover om dit te kunnen beoordelen.

Als het niet anders kan dan moet het maar zo blijven,dan zal ik in mijn project wat concessies moeten doen echter dat is ook geen ramp.

In het serie nummer dient altijd derde en vierde karakter 1 en 8 te zijn als dit niet het geval is zou ik dit ook graag zichtbaar krijgen.
Weet je ook hoe dat gerealiseerd kan worden. De eerste serie nummer in kolom O heeft als derde karakter een 1 en vierde karakter een 7, wat dus niet goed is.



Alvast bedankt.
Jan E
 
Laatst bewerkt:
Je zet er een letter of teken voor, dan kan je de dubbelen wel berekenen.
SNB geeft daar een mooi voorbeeld van.
 
Beste JeanPaul28,

Bedoel je dat ik in jou code een letter er voor moet zetten.
Zo ja zou je dit dan willen doen want ik zie niet waar dat dan moet.
Misschien ten overvloede dan dient jou code wel van toepassing te zijn op kolom O.

PS weet je ook een oplossing voor controle op derde en vierde karakter dient 1 en 8 te zijn.
Eerste serie nummer in kolom 0 is dus fout.

hopelijk wil je mij hiermee verder helpen je zult veel collega's van mij hiermee blij maken.


groet,
Jan E
 
@Jan Excel

Ondanks je naam doe je vermoeden dat je op zoek bent naar een oplossing en en niet naar hulp om zelf een oplossing te maken.
Met de aangereikte suggesteis moet je eenvoudig in staat zijn tot de door jou gewenste oplossing te komen.
Waarom zouden jij en je vele collega's wel voor hun werk betaald worden en zou de baas er geen geld over hebben om jullie allemaal gelukkig te maken ?
Ik ken wel iemand die dat voor jullie kan regelen. ;)
 
Hoi SNB en Jeanpaul28,

De suggesties van jullie hebben mij toch verder geholpen.
In combinatie met de instructie van SNB heb ik nu de code van JeanPaul werkend gekregen.
SNB het was wat gemakzucht aan mijn kant, ik had jou code niet onvoldoende bestudeerd echter nu is het gelukt in combinatie met de code van JeanPaul28.

Allen bedankt voor de aangereikte hulp.
Jan E.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan