000 voor een getal verdwijnt

Status
Niet open voor verdere reacties.

Interface

Gebruiker
Lid geworden
27 jan 2009
Berichten
156
Na het uitvoeren van een macro krijg verdwijnen al mijn nullen voor mijn code in de cel. Is dit niet in mijn macro meetenemen zonder dat er niet "E en nog wat" tevoorschijn kom?
 
Interface,

In mij adresbestand heb ik tel.nummers uit Frankrijk en Engeland en dit heb ik zo opgelost.
Het kan misschien beter maar voor mij werkt dit goed.
Misschien dat je wat aan deze informatie heb?
Code:
If Len(txtTelefoon1.Value) > 10 Then txtTelefoon1.Value = "00" + txtTelefoon1.Value
            txtMobTel1.Value = Format(Worksheets("Adressen").Cells(WS.Row, "I"), "0#########")
 
lukt nog niet

In de bijlag een voorbeeld bestand. de waardes in kolom 2 moeten hetzelfde zijn alleen dan zonder sterretje ervoor.

Dat lukt alleen nog niet.....
 

Bijlagen

Code:
For y = 2 To Range("b2", Range("b2").End(xlDown)).Count + 1
  Cells(y, 2) = Format(Cells(y, 2), String(Len(Cells(y, 2)) + 2, "0"))
Next
 
werkt indd maar

werkt indd maar als ik in de cel kijk of ik kijk naar lengte dan is deze 13 en niet 14. Dus de weergave is goed alleen de waarde is niet juist...
 
Interface,

werkt indd maar
Ik weet niet over welke oplossing je het heb.

Hier onder je eigen code een beetje aangepast.
Code:
Sub Macro2()
    For y = 2 To Range("b2", Range("b2").End(xlDown)).Count + 1
                   Range("b" & y) = Right(Range("b" & y), 14)
    Next y
End Sub
 
die code heb ik geprobeerd.

En als ik dan op cel klik en kijk boven in de balk waar de waarde staat van de betreffende cel dan staat het volledige getal er zonder 0 ervoor. De waarde/code is dus niet meer gelijk aan wat deze was voorheen was (en dit moet ingelezen worden door een andere programma) en daarom is deze code eigenlijk onbruikbaar. De waarde is immers niet meer 14 karakters lang(maar 13)...
 
Ik denk dat hij de nul niet telt.
Op B2 is het eerste cijfer een 3 (dus 14) en op B3 is het eerste cijfer een nul.(dus 13)
 
indd

dat is misschien waar maar als ik dubbelklik op de cel dan zie ik ook gelijk de 0 verdwijnen.

Volgens mij klopt het dus niet helemaal
 
Het is maar een idee
Kun je dan niet onderstaand voorbeeld gebruiken zodat die nul er toch voorkomt.

Code:
If Len(..........) <= 14 Then ........... .Value = "0" + ........... .Value
 
en dat had ik

dus al geprobeerd. en dat werkt niet(bij mij dan). Waarschijnlijk doe ik wat fout maar alles verandert gelijk in E+12....
 
nee de nullen zijn nog steeds niet aanwezig in de waar

dus de lengte is nog steeds neit goed.

Wat wel lukt is:
Code:
 For z = 2 To Range("b2", Range("b2").End(xlDown)).Count + 1
        Range("d" & z).FormulaR1C1 = "=RIGHT(RC[-2],14)"
    Next

    Range("D2").Select
        Range(Selection, Selection.End(xlDown)).Select
            Selection.Copy
            
    Range("B2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            
    Range("C2:D2").Select
        Range("c2:e20000").Select
            Application.CutCopyMode = False
                Selection.ClearContents
                    Range("A1").Select
        Columns("C:E").Delete

Het enige wat heirvan wat raar is dat ik twee keer de macro moet uitvoeren om het te laten slagen...
 
dus de lengte is nog steeds neit goed
Ik denk dat dit toch een probleem blijft.

Als men mijn salaris uit betaalde stonden er ook 5 nullen voor maar leverde niets op.
Ik had liever die 5 nullen er achter mijn salaris gehad.:D

Een nul voor een getal is niets maar als text zodat dan ook het geval zijn?
 
haha

Ik zou ook wel vijf nullen achter mijn salaris willen hebben..

Text lukt niet het zit em waarschijnlijk gewoon in excel.
 
Dat van die 5 nullen was maar een voorbeeld.
De AOW is helemaal niet zo hoog mag wel 1 nul achter.

Vandaar dat er ook een * voor het getal staat anders word de nul niet geteld.
 
Volgens mij moet deze code dan wel werken:
Code:
Sub Macro2()
    
    For y = 2 To Range("b2", Range("b2").End(xlDown)).Count + 1
        Range("b" & y).NumberFormat = "@"
            Range("b" & y) = Right(Range("b" & y), 14)
    Next y
    
End Sub

De opmaak van de cel wordt gewijzigd naar "Text".
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan