• 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.

gegevens aanpassen

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.697
Hallo

Hopelijk weten jullie een goeie oplossing voor volgend probleem zoniet staat er me een geweldig luizenwerk te wachten

Ik heb een werkblad met een 10.000 lijnen
Elke lijn heeft een ID
iets zoals bvb 2.1.5
Nu zou dit moeten veranderd worden in 02.01.05
hoe kan ik dat automatiseren zodat dit correct verloopt?
stel dat ik bvb 2.1.50 he dan wordt dit 02.01.50
dus als ik schrijf dat .5 moet vervangen worden door .05 dan krijg ik
02.01.050 wat dan weer fout is....
enfin, ik hoop dat jullie het begrijpen... IK kom er in elk geval niet uit

Bedankt
nullen.jpg
 
waarschijnlijk doe je jezelf een groot plezier als je een voorbeeldbestandje (in excel), ontdaan van gevoelige info toevoegd.

Als je in het bestand dan ook nog aangeeft wat de gewenste uitkomst is, zou dat helemaal super zijn.
 
Test het eens op kolom B in een testbestandje.
Code:
Sub tst()
 Dim cl As Range
  With Sheets("Blad1")
   For Each cl In Range("B1:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)
    If cl > 0 Then
     If Len(cl) = 1 Then
      cl.NumberFormat = "00"
  Else
     cl = "0" & Replace(cl, ".", ".0")
    End If
   End If
  Next cl
 End With
End Sub
 
voila, zoals gevraagd
(de meeste fora worden niet graag met bestanden 'overladen' vandaar)
in kolom 2 schreef ik de manier zoals het zou moeten worden

het probleem is, dat deze gegevens uiteindelijk geexporteerd worden
als ik alles laat zoals het nu is zal het per-alfabet-zetten van de gegevens fout zijn omdat de computer als volgt tewerk gaat:

1.1.1
1.1.11
1.1.12
1.1.2

tenzij je het anders schrijft, dan wordt het wel goed:

01.01.01
01.01.02
01.01.11
01.01.12

enz....

via "vervangen" is het erg moeilijk om een manier te vinden die de vervanging foutloos doet voor ALLE cellen... dus... doe ik beroep op de pro's

Bekijk bijlage Map1.xls

bedankt voor de hulp
 
Test het eens op kolom B in een testbestandje.
Code:
Sub tst()
 Dim cl As Range
  With Sheets("Blad1")
   For Each cl In Range("B1:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)
    If cl > 0 Then
     If Len(cl) = 1 Then
      cl.NumberFormat = "00"
  Else
     cl = "0" & Replace(cl, ".", ".0")
    End If
   End If
  Next cl
 End With
End Sub

Bedankt
ziet er indrukwekkend uit, maar, waar moet ik dat ergens inzetten en laten lopen??
ik ken niks van macro's, sorry hoor
JP
 
kijk eens in dit bestand.

hier de code van HSV ingezet.

de VBA editor open je door alt+f11

voor VBA vragen wordt je door een ander beter (dan door mij) geholpen.

P.s. volgens mij weet ik al wat de volgende vraag gaat worden :P:P
 

Bijlagen

Ga naar de officeknop op het lint (neem aan dat je 2007> gebruikt) en klik op Excel's options --> onder de catagorie popular kiezen voor "show developer tab in ribbon"
Nu krijg je een tab erbij die developer heet --> kies Visual basic --> in het linker venster rechter muistoets --> uit het dropdownmenu selectenren: Module
venster aan rechter zijde de code van HSV plakken. terug naar Excel --> op het lint druk je op macro's en selecteer macro tst --> uitvoeren...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan