Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Ik loop vast in dit bestand.  (gelezen 2379 keer)

0 leden en 1 gast bekijken dit topic.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Ik loop vast in dit bestand.
« Gepost op: 27 april 2023, 22:40:09 »
Goede avond allen,

Ik heb een bestand bij elkaar gesprokkeld, maar kom niet verder.
Het is een formulier om manuren in de bouw bij te houden, en uiteindelijk een xls bestand van te maken welke verwerkt kan worden in bijvoorbeeld BI.

Het probleem zit in de bouwdelen, ik wil graag bouwdelen kunnen toevoegen in het userform. Maar ook kunnen verwijderen in het formulier.
Toevoegen gaat prima, maar met verwijderen loop ik vast. ik krijg het niet voor elkaar om in de index van het userform de geselecteerde waarde uit de tabellen te verwijderen.

Verder zou ik graag willen, dat als er een ingevulde weekstaat wordt vastgelegd. Dat dat dan alleen een unieke mag zijn. En daar bedoel ik mee dat de medewerker naam en weeknummer niet al mag bestaan in die combinatie.
Als die week nog niet bestaat, dan wil ik dat in het blad Vastleggen de nieuwe week boven de vorige komt te staan zodat ik een nlange lijst krijg met unieke naam/weeknummers combinaties.

Ik heb geprobeerd om met een AI chat de codes aan te passen, maar hij snapt het niet (of ik dat kan nat ook).

excuus voor het lange verhaal.

Het wachtwoord is: Indy2!

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: Ik loop vast in dit bestand.
« Reactie #1 Gepost op: 28 april 2023, 08:27:23 »
Ik heb dat bouwdeel toevoegen en verwijderen inmiddels al opgelost (zie nieuwe bijlage).

Wat nog resteerd is het vastleggen van de ingevulde weekstaat, zoals eerder beschreven.

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Ik loop vast in dit bestand.
« Reactie #2 Gepost op: 28 april 2023, 12:59:56 »
Ik ga me verder niet bemoeien met deze vraag omdat de opzet van je werkbladen mij persoonlijk niet echt werkbaar lijkt maar om de controle op

de unieke combinatie uit te voeren kan je onderstaande code gebruiken.

evalstr zal een nummer weergeven als de combinatie reeds bestaat, anders geeft evalstr een foutcode weer.

Met IfError controleer je de waarde van evalstr en handelt naargelang.

Ik heb een extra knop "Test" op je formulier gezet om dit uit te testen.

Vraag simpelweg een bestaande combinatie op of wijzig naar een onbestaande combinatie en druk op Test.

Private Sub CommandButton2_Click()
    With Blad19
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row
        evalstr = Evaluate("Match(" & Chr(34) & u_0.Value & Chr(34) & "&CHAR(5)&" & Chr(34) & U_2.Value & _
                Chr(34) & "," & .Range("A1:A" & lRow).Address(, , , True) & "&CHAR(5)&" & .Range("C1:C" & lRow).Address(, , , True) & ",0)")
    End With
    If Not IsError(evalstr) Then
        MsgBox "De opgevraagde gegvens staan op rij " & evalstr & "."
    Else
        MsgBox "De opgevraagde gegevens zijn nog niet geregistreerd."
    End If
End Sub
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: Ik loop vast in dit bestand.
« Reactie #3 Gepost op: 28 april 2023, 13:42:33 »
Bedankt voor je input, maar daar was ik niet naar op zoek.

Wat ik wel interesant vind, is dat ik nu een indruk heb hoe het formulier ontvangen wordt.
Ik zal proberen in het formulier wat meer uitleg te geven door middel van een info veld.

De tekst op de knoppen wat aanpassen, zodat je meteen inziet wat het doet.
Een ingevulde weekstaat opslaan en bewaren in het blad Vastleggen is de grootste uitdaging.

bijgaande alvast een verbeterde versie.

(Wachtwoord: Indy2!)

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Ik loop vast in dit bestand.
« Reactie #4 Gepost op: 28 april 2023, 13:58:31 »
Wat ik met mijn code wou aantonen is enkel hoe je zoekt naar bepaalde combinaties in een tabel.

Je moet deze code toevoegen aan je Opslaan code om de controle uit te voeren alvorens je gegevens gaat wegschrijven naar je tabel.

Idd. niet zoals ik ze toegevoegd heb aan jouw formulier, dit was enkel als voorbeeld om aan te tonen hoe de code werkt.  ::)
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: Ik loop vast in dit bestand.
« Reactie #5 Gepost op: 28 april 2023, 14:02:16 »
Okay op die manier, nou kan ik zoeken naar een manier om het ingevulde blad op te slaan in Vasthouden.

Dank je wel Warme Bakkertje  :thumbsup:

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Ik loop vast in dit bestand.
« Reactie #6 Gepost op: 28 april 2023, 14:45:15 »
    With Blad19
        lRow = .Range("A" & .Rows.Count).End(xlUp).Row
        evalstr = Evaluate("Match(" & Chr(34) & u_0.Value & Chr(34) & "&CHAR(5)&" & Chr(34) & U_2.Value & _
                Chr(34) & "," & .Range("A1:A" & lRow).Address(, , , True) & "&CHAR(5)&" & .Range("C1:C" & lRow).Address(, , , True) & ",0)")
    End With
    If Not IsError(evalstr) Then
        MsgBox "Deze combinatie staat reeds op rij " & evalstr & "."
        Exit Sub
    Else
        'De rest van je Opslaan code
    End If

Vervang nu de regel onder 'Else' door je code die je nu hebt om een combinatie op te slaan en klaar is kees.
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: Ik loop vast in dit bestand.
« Reactie #7 Gepost op: 28 april 2023, 17:56:22 »
 ;D nee kees is nog niet klaar.
Ik denk dat ik verkeerde info heb gegeven ivm naar welk blad opslaan.

Ik heb het bestand even ingevuld als voorbeeld.

Als je het formulier opent, en selecteerd de naam Henny, dan laad hij het opgeslagen profiel. (dat moet je zien als een snelle manier om een opgeslagen profiel te kunnen aanpasssen voor een nieuwe weekstaat)

Stel je voor dat een uitvoerder op vrijdag de uren moet invullen van zijn mensen, hij selecteerd een naam en past de weekstaat aan. Als hij daar mee klaar is en alles goed heeft gevuld, moet hij op de knop (Deze ingevulde weekstaat vastleggen voor administratie) klikken.

Nou komt het, na de klik wordt de ingevulde weekstaat wordt sowieso al gevuld in het blad Vastleggen. Maar ik wil natuurlijk meer weekstaten opslaan in het blad Vastleggen.
Dus als een naam en weeknummer combi zich al bevind in het blad Vastleggen, dan die week overschrijven. En anders regel 2 tm 29 kopieren en boven invoegen. Vervolgens de nieuwe week opslaan. Zo krijg ik elke week de weekstaten gestapeld in een tabel.

Ik moet nog meer aanpassen, maar dat probeer ik zelf uit te vinden.

Bijvoorbeeld,
 
Elke maandag na 12:00 kan je de weekstaat van de vorige week niet meer aanpassen. en moet die week blokeren.
Alle lege regels in de tabel van vastleggen verbergen.
Jaar aanpassen haal ik er uit. is niet echt nodig.
Week aanpassen idem dito.
Projectnummer toevoegen ook met een listbox en niet zoals ik het nu heb gemaakt.

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: Ik loop vast in dit bestand.
« Reactie #8 Gepost op: 30 april 2023, 11:04:58 »
Ik heb het formulier verder aangepast met de hulp van Warme Bakkertje zijn aanvulling  :thumbsup:.

Als ik op Opgeslagen weekstaat van bijvoorbeeld Tonnie week 3 klik, krijg ik een melding.

Weekstaat aanpassen ja/nee
Ja zou de weekstaat uit blad vasthouden moeten laden.

Weekstaat verwijderen ja/nee
Ja zou de weekstaat uit blad vasthouden moeten verwijderen.

Die vind ik moeilijk om te maken, elke hint of hulp is welkom.


Wachtwoord: Indy2!

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Ik loop vast in dit bestand.
« Reactie #9 Gepost op: 17 mei 2023, 23:14:20 »
tonnie,

Kijk eens of je hier iets uit kan halen dat voor jou werkt.

Klikken in Profiel listbox laadt de gegevens vanuit Vasthouden.

klikken op Opslaan voor Administratie controleert op combinatie. Bestaat ze worden de gegevens overschreven.

Bestaat de combinatie niet dan wordt ze bovenaan aangevuld. Bestaat de naam nog niet in Vasthouden dan wordt deze aangevuld.

Klikken in opgeslagen weekstaten geeft je de mogelijkheid om de naam te wissen in Vasthouden of de gegevens te laden in het userform

om wijzigingen te maken.

Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: Ik loop vast in dit bestand.
« Reactie #10 Gepost op: 18 mei 2023, 07:18:57 »
Goedemorgen Warme bakkertje,

Ziet er top uit!
Maar ik heb ook niet stil gezeten en ben toch tot een goed resultaat gekomen. Mooi om te zien wat de verschillen zijn in de macro's.

Wat die van mij nu doet:
- Weekstaten aan te klikken in de listbox, en dan verwijderen of aanpassen.
- Aanpassen kan en wordt meteen overschreven, mits de naam wordt aangepast dan krijg je de melding opslaan als nieuwe medewerker.
- Elke gele cel telt de waardes op en in het totaal kun je zien hoeveel je voor die week hebt ingevuld.
- Knop toegevoegd om de gele cellen te wissen.
- De knop weekstaten versturen aanklikken geeft als resultaat dat de weekstaten wordt opgeslagen, klaar om in te lezen.
- De knop weekstaten versturen heeft een beveiliging, weekstaten kunnen tot maximaal maandag 12:00 de volgende week nog aangepast worden.
- Als de eerste weekstaat klaar wordt gezet met de knop verstuur, dan wordt er een map aangemaakt op de plaats waar de tool zich bevind.
- Elke nieuwe of aangepaste weekstaat met volgende weeknummer zal in die map worden opgeslagen.
- In het formulier bouwdelen aanpassen, zit een listbox om die opgeslagen weekstaten te bekijken. Als je die ophaald wordt die weekstaat in een nieuw beveiligd blad geopend.
- Verder nog wat fout afhandelingen.

Het enige waar ik een beetje mee zit is die
Private Sub U_30_Change()
optellen
End Sub
in elke gele cel, dat vind ik een beetje too much. Maar ik zou niet weten hoe ik dat anders kan doen.

Verder zie ik dat jij die listboxen mooi aanroept, ik doe dat heel omslachtig. Om de listbox weer te verversen open en sluit ik het formulier weer, dat is niet zo fraai.... Jij doet dat weer op een subtiele manier.

In ieder geval bedankt voor je bijdrage, dat waardeer ik enorm.

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Ik loop vast in dit bestand.
« Reactie #11 Gepost op: 18 mei 2023, 08:56:21 »
Probeer het eens met deze.

Laat maar weten als je vragen hebt.

De rest van je code is idd. voor verbetering vatbaar maar als ze doet wat jij wil ga ik er niet terug aan sleutelen.

Dat laat ik aan jou over.
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.171
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Ik loop vast in dit bestand.
« Reactie #12 Gepost op: 18 mei 2023, 08:58:33 »
Het enige waar ik een beetje mee zit is die
Private Sub U_30_Change()
optellen
End Sub
in elke gele cel, dat vind ik een beetje too much. Maar ik zou niet weten hoe ik dat anders kan doen.

tonnie,

misschien, zoals RedHead in dit gelijkaardig topic voorstelt het OnExit() event gebruiken ipv het OnChange().

Bekijk het misschien eens, mogelijk kan je er gebruik van maken.

:) 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 Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Ik loop vast in dit bestand.
« Reactie #13 Gepost op: 18 mei 2023, 15:53:04 »
SoftAid,

Zoals ik het begrijp is het eerder een kwestie van herhaling van de code.

Dit stukje code zou dus 137X herhaald moeten worden, voor elke gele TextBox op het userform, en dit zou TS graag anders gedaan hebben.

Ik heb daarom een Class-event toegevoegd dat met enkele regels code het Change-event regelt voor alle 137 TextBoxen.

Groetjes,

Rudi
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline tonnie

  • Volledig lid
  • **
  • Berichten: 104
  • Geslacht: Man
  • Oplossing.be
Re: Ik loop vast in dit bestand.
« Reactie #14 Gepost op: 18 mei 2023, 18:20:15 »
Dit is natuurlijk helemaal top Rudi.

Een class event is voor mij even te hoog gegrepen, ik ga proberen uit te pluizen hoe dat werkt.
Maar dat is precies wat ik bedoelde, thanks  :thumbsup:

Ik heb nog een hoop te leren, maar al met al ben ik best tevreden met wat ik nu kan. Wellicht heeft een ander ook iets aan het bestand.

Bedankt voor de hulp SoftAid en Warme bakkertje.




 


www.combell.com