Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Aangepaste celnotatie  (gelezen 5185 keer)

0 leden en 1 gast bekijken dit topic.

Offline Toebak1972

  • Nieuw lid
  • Berichten: 1
  • Hey, ik ben nieuw hier !
Aangepaste celnotatie
« Gepost op: 21 april 2021, 20:40:30 »
hallo,

is het mogelijk om een aangepaste celnotatie te maken met volgende layout?
00.00.0000.0/0 , als ik deze notatie invoer krijg ik steeds een andere samenstelling.
Deze notatie komt overeen met ordernummers die ik vaak moet verwerken en een groot aantal keer per dag moet invoeren.
Alvast bedankt

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Aangepaste celnotatie
« Reactie #1 Gepost op: 21 april 2021, 23:16:10 »
Hallo Toebak1972,

Welkom op Oplossing.be  :)

Ik ben zelf ook geen held in Excel maar met een macro kom ik al een eind in de buurt.
Wat ik wil doen is een macro maken die, dat als er iets wordt aangepast in het werkblad, en de waardes voor de ordernummer zonder tekens worden ingegeven, de macro dan de punten en de slash automatisch tussen de ingegeven (10) tekens zet.

Dan zouden we ongeveer op volgende macro uitkomen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range, Z As String, x As String
Application.EnableEvents = False
On Error Resume Next
Set KeyCells = Range("A1:A1000")
      If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
              x = Target.Address
              If Len(Target) <> 10 Then
                      MsgBox "Je hebt geen 10 tekens ingevuld !"
                      Exit Sub
              End If
 Z = Target
Range(x).Value = Left(Z, 2) & "." & Mid(Z, 3, 2) & "." & Mid(Z, 5, 4) & "." & Mid(Z, 9, 1) & "/" & Right(Z, 1)
Application.EnableEvents = True
End If
End Sub

Met dank aan RedHead voor de hint "Application.EnableEvents = False/True"


:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Aangepaste celnotatie
« Reactie #2 Gepost op: 22 april 2021, 11:57:41 »
Hallo Toebak1972,

Stil hier op het forum....

Ik heb nog een macro kunnen schrijven die met een knop moet gestart worden, die doet juist wat je wilt.

Sub Verdeel()
    Dim x As Variant, Z As String

    x = Worksheets("Sheet1").Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1
    Range("A" & x).Select
    Z = InputBox("Geef een reeks van 10 tekens in", "Ordernummer invoeren")
    If Len(Z) <> 10 Then
        MsgBox "U heeft niet het juiste aantal tekens ingevoerd. Probeer opnieuw. "
        Exit Sub
    Else
        ActiveCell.Value = Left(Z, 2) & "." & Mid(Z, 3, 2) & "." & Mid(Z, 5, 4) & "." & Mid(Z, 9, 1) & "/" & Right(Z, 1)
    End If
End Sub

Zie bijlage:

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Aangepaste celnotatie
« Reactie #3 Gepost op: 22 april 2021, 13:09:53 »
als ik deze notatie invoer krijg ik steeds een andere samenstelling

Deze regel heeft voor mij wel wat extra uitleg nodig. Want WAT voer je dan in en WAT is dan het "andere" resultaat?

Op basis van wat SoftAid je al heeft aangeboden, doe ik ook nog een duit in het zakje. Mijn insteek was een invoerkolom met daarnaast een hulpkolom die je die invoer in je gewenste format laat zien. Hou er wel rekening mee dat een aangepaste celopmaak alleen maar een "view" is, maar dat de onderliggende waarde nog steeds dat van je invoer is. Ofwel, als je zoeken met die waarde in bijvoorbeeld een VLOOKUP (vert.zoeken) formule, kom je bedrogen uit.

In de bijlage mijn voorstelletje met formule én een VBA oplossing (maar dan net weer ff anders dan wat SoftAid je gaf).

[EDIT] wel dus graag antwoord op mijn vraag. Tnx.
______________________________

Groet, Leo

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Aangepaste celnotatie
« Reactie #4 Gepost op: 22 april 2021, 13:12:35 »
Maar.... De macro herhaalt zich zelf als ik de macro uitvoer omdat ik in de macro een waarde verander.

Dan schiet ik je graag te hulp SoftAid. Het is een gevalletje van een Event uit en aan zetten. Zie mijn bijlage. ;)
______________________________

Groet, Leo

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: Aangepaste celnotatie
« Reactie #5 Gepost op: 22 april 2021, 14:09:57 »
Redhead,

Een cijfertje te weinig of te veel geeft fouten.
Ben zo vrij om dit als sugestie te geven:

Private Sub Worksheet_Change(ByVal Target As Range)
   
    If Not Intersect(Target, Range("D:D")) Is Nothing And Target.Cells.Count = 1 Then
        Application.EnableEvents = False
       
        If Len(Target) <> 10 Then
            MsgBox "foute invoer"
            Target = ""
            Application.Goto Target
        End If
       
        Target.Value = Format(Target.Value, "00,00,0000,0\/0")
       
        Application.EnableEvents = True
    End If
   
End Sub

en voor de formule in B
=ALS(LENGTE(A2)=10;TEKST(A2;"00.00.0000.0\/0");"")
Groet,

Albert

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Aangepaste celnotatie
« Reactie #6 Gepost op: 22 april 2021, 14:26:09 »
Hallo Leo,

Bedankt voor de hulp.
Ik heb die "Application.enableEvents =False" nog maar enkele weken geleden nog gebruikt in een macro, maar mijn geheugen is zo vluchtig als gas  :-[ :-[ :-[
Mijn macro is natuurlijk weer veel te uitgebreid (was eerst nog langer....)
Nu werkt hij prima.

@ Albert,

Dank voor de goede suggestie (Lengte > 10)
Ik had dit wel toegepast in mijn knop-macro, maar (weer) vergeten te herhalen in mijn Workbook_Change() macro.

Voor zulke cracks als jullie is dat maar een fluitje van een cent, voor mij een hele lijdensweg  0:-) 0:-)

Goed werk van beiden  :thumbsup:, en bedankt.

nu nog afwachten wat Toebak er van vindt.

Groeten,

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: Aangepaste celnotatie
« Reactie #7 Gepost op: 22 april 2021, 14:31:51 »
Citaat
Voor zulke cracks als jullie is dat maar een fluitje van een cent, voor mij een hele lijdensweg
Ik ben absoluut geen Crack
En "lijdensweg in Excel" is voor mij alleen maar leerzaam. ;D
Groet,

Albert

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Aangepaste celnotatie
« Reactie #8 Gepost op: 22 april 2021, 14:56:37 »
Een cijfertje te weinig of te veel geeft fouten.

Opzich loopt er niets fout met m'n code. Met het intikken van 11234567890 krijg je dan als uitkomst de opmaak 11.234.567.89/0.
Bij een nummer kleiner dan 10 cijfers, krijg je allemaal voorloopnullen... 0.000.123.45/6

Ik kan niet uit de sumiere vraag van de TS opmaken wát er nou exact moet worden ingevoerd. Vandaar ook mijn vraag aan de TS om dit aan te geven. Als het inderdaad altijd 10 cijfers moeten zijn, is het afvangen zoals je nu hebt gedaan prima natuurlijk. Die extra nul die je nu vooraan de formule en het VBA Format hebt geplaatst is niet nodig. Dat wordt goed opgepakt.
______________________________

Groet, Leo

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Aangepaste celnotatie
« Reactie #9 Gepost op: 22 april 2021, 16:01:59 »
Hallo RedHead,

ik vermoed dat de notatie van de orderbonnen vast is: ##.##.####.#/#
Ik "denk" dat de eerste 8 digits (punten niet meegerekend) op een datum notatie slaan 01.02.2121
Maar dat weet enkel Toebak met zekerheid.

Albert heeft wel een punt.
Het leek/lijkt me ook nodig dat het aantal in te voeren cijfers (of tekens, letters) vast zijn.
Als je meer of minder tekens gebruikt veranderd de notatie. En dat is, denk ik, niet de bedoeling.

Groeten,

Theo

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Aangepaste celnotatie
« Reactie #10 Gepost op: 22 april 2021, 18:32:33 »
Als het altijd vaste lengte heeft kun je dit simpelweg in de aangepaste celeigenschappen gebruiken.

##\.##\.####\.#\/#

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Aangepaste celnotatie
« Reactie #11 Gepost op: 22 april 2021, 18:49:35 »
Haaaaalllooooo Veerje,

Dat is wel degelijk enorm goed via cel-eigenschappen.
Waar tover je die backslash uit? Ik heb dit nog nooit toegepast gezien.
Staan de parameters (of scheidingstekens) ergens gedocumenteerd?

Wat wel een nadeel is aan werken met cel-eigenschappen is dat je weinig controle hebt t.o.v. verkeerde invoer.
Maar dat terzijde, mooie oplossing.

Groeten,

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Aangepaste celnotatie
« Reactie #12 Gepost op: 22 april 2021, 19:07:40 »
Er is weinig over te lezen over specifiek de backslash. De backslash zorgt er voor dat (in de celformat) het eerstvolgende teken na de backslash wordt getoond ;)

Om verkeerde invoer tegen te gaan kun je ook nog gebruik maken van gegevensvalidatie, waardoor je bvb verplicht 10 getallen moet invullen.
Edit: Voor de geďnteresseerden. Onderstaand in de aangepaste gegevensvalidatie, in combinatie met de eerder genoemde celformat.

=EN(LENGTE(E2)=10;NIET(ISFOUT(E2*1)))
https://www.ablebits.com/office-addins-blog/2016/07/07/custom-excel-number-format/

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Aangepaste celnotatie
« Reactie #13 Gepost op: 22 april 2021, 20:20:25 »
Hallo Veerj,

Dank voor de toelichting en zeker dank voor het super adres. Daar kan ik veel uit leren  :thumbsup:

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Aangepaste celnotatie
« Reactie #14 Gepost op: 22 april 2021, 20:23:01 »
Graag gedaan :)

 


www.combell.com