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

maten berekenen

Status
Niet open voor verdere reacties.

wimven

Gebruiker
Lid geworden
26 jul 2009
Berichten
54
Ik kom er even niet uit en hoop dat jullie er een uitdaging in zien. Zie de bijlage maar hieronder de uitleg.

Stel je eerst even optisch voor:
Je hebt een rechthoekig vlak met een bepaalde afmeting (Binnenmaat), daarom heen wil je een plaat met een gat erin ter grootte van die Binnenmaat (Plaat1).
Op Plaat 1 wil je een andere plaat (Plaat2) met een iets groter gat maar de buitenmaten van de platen zijn gelijk. Je ziet dus in dat geval maar een klein randje van Plaat1 binnen het gat van Plaat2.

De ene keer wil je de buitenmaat van het geheel berekenen aan de hand van Binnenmaat+Rand van Plaat1.
De andere keer heb je een vaste buitenmaat van het geheel en wil je de randen van Plaat1 berekenen als Buitenste maat - Binnenste maat
Tot slot komt het ook vaak voor dat er geen plaat omheen gaat.
 

Bijlagen

Laatst bewerkt:
Nadere uitwerking

Helaas, nog geen reacties gehad, dus zelf maar verder geprobeerd en in bijlage een bestand wat al aardig doet wat ik wil maar waar ik toch nog op sommige gebieden vast loop.

Probeer maar even de button "maat bepalen". Daarna 4 maten ingeven bovenin, verschil ingeven en op de toggle button klikken zodat je ziet wat er gebeurt.
Nog een keer op toggle geeft al een probleem; als de buitenste maat variabel moet zijn zal hij eerst op nul gezet moeten worden, maar HOE?
En waarom, als die buitenste maat variabel staat, krijg ik een foutmelding en wordt niet de maten van de plaatranden berekend?

Heel graag een reactie wat gewijzigd moet worden. Ook verkorten van de codes is van harte welkom want ik denk dat mijn weg naar Rome over Peking loopt.

Greetz
 

Bijlagen

Laatst bewerkt:
Geen enkele reactie??

Wat jammer dat niemand me met dit probleem kan helpen... :(
 
Beste wimven ;)

Ik denk dat velen je willen helpen maar niet begrijpen wat je bedoeld.
Aangezien de 122 personen die deze topic al bekeken hebben.

Zet eens de maten manueel in een voorbeeldje wat je wil of hoe het er uit moet zien
Wat er berekend moet worden en dergelijke.

Groetjes Danny. :thumb:
 
Als ik even mee mag denken:

Ik zie je voorbeeld als een soort fotolijstje. Ik heb een frame, waar ik iets in kan leggen, dat valt dus niet door het gat doormiddel van het eerste gat wat kleiner is.

In excel bestandje zoals ik denk wat je bedoeld en hoe je dit kan oplossen. Als het niet zo de bedoeling was, zeg het dan, ik denk graag met je mee:-)

(in je excelbestand op blad 2 kijken, mocht het op blad 1 open gaat)
 

Bijlagen

Beter uitgelegd nu

Goed idee Danny,

Download het bijgesloten bestand

klik op C2 (maat bepalen) om in het formulier te komen

geef in:
32 bij binnenste maat breed
42 bij binnenste maat hoog
50 bij buitenste maat breed
60 bij buitenste maat hoog
kies bij de linker combobox een nummer

klik nu op de button boven buitenste maat en je ziet dat de maten achter links, boven, rechts, onder berekend worden. Tot zover gaat het goed, ook als je de 2e combobox invult en het verschil tussen de 2 platen in mm.

Lastiger vind ik het als de buitenste maat niet bekend is maar berekend moet worden door de randen van de platen in te geven:

geef links in:
32
42
0 of enter
0 of enter

kies uit de combobox bijvoorbeeld 9703
4 bij links
6 bij boven
4 bij rechts
6 bij onder

Nu moeten de 2 velden onder "Buitenste maat" berekend kunnen worden en daar gaat het fout.
Ook gaat het fout als in het eerste voorbeeld meerdere keren op de button in het formulier gedrukt wordt.

Ik hoop dat het nu duidelijker is
 

Bijlagen

Moet het in zo'n formulier zitten? Daar heb ik namelijk absoluut geen verstand van, is mijn lijstje een beetje zoals je bedoelde? Misschien kun je dat omzetten in zo'n formulier?
 
@Djoane

Je begrijpt wat de bedoeling is inderdaad en bedankt voor het meedenken. Nu gaat het me erom om dat formuliergestuurd te maken en deels is dat al gelukt. Als je de programmacode van de togglebutton bekijkt lijkt het erg simpel maar helaas werkt het niet goed. Gezien mijn minimale kennis zal ik veel vb-fouten maken.
 
Ik moet eerlijk zeggen, dat ik niet eens weet waar ik die formule kan zien :o

Ik denk dat ik inderdaad de term "Junior Member" verdien, dacht dat ik wel redelijk wat van excel wist, maar blijkbaar kun je er nog veeeeeeeel meer mee. :o
 
Beste wimven ;)

Is het niet beter een gewone button te gebruiken ipv een ToggleButton.

Eerste button genaamd Buitenmaat Gezocht met als code :

Code:
        TxtLstBrd.Value = TxtBldBrd.Value + TxtPpt1Li.Value + TxtPpt1Re.Value
        TxtLstHg.Value = TxtBldHg.Value + TxtPpt1Bo.Value + TxtPpt1On.Value

Alleen krijg ik hier als uitkomst 3244 en 4266 ipv 32+4+4 =40 en 42+6+6=54

Tweede button genaamd Buitenmaat Vast met als code :

Code:
        TxtPpt1Li.Value = (TxtLstBrd.Value - TxtBldBrd.Value) / 2
        TxtPpt1Re.Value = (TxtLstBrd.Value - TxtBldBrd.Value) / 2
        TxtPpt1Bo.Value = (TxtLstHg.Value - TxtBldHg.Value) / 2
        TxtPpt1On.Value = (TxtLstHg.Value - TxtBldHg.Value) / 2

Deze werkt goed.

Groetjes Danny. :thumb:
 
Bedankt Danny, ik zal het proberen met 2 buttons te verwerken. Een wisselknop leek me logischer omdat ik regelmatig ook die wisseling in de praktijk moet maken maar op deze manier kan het uiteraard ook.

Dat probleem met de optelling is voor mij ook een groot vraagteken. Heb je enig idee hoe dat op te lossen is?
Het lijkt in eerste instantie of de waarden als tekst behandeld worden. Dat het niet zo is wordt duidelijk als je nog een keer op de togglebutton drukt want dan zie je dat er weer mee gerekend wordt.

@Djoane
zoek maar eens op dit forum op vb.
Het fijne weet ik er ook nog niet van maar het is dacht ik een krachtige programmeertaal (visual basic) die in dit geval gebruikt wordt "achter" de office programma's.

Groet,
 
Laatst bewerkt:
Code:
Private Sub CommandButton1_Click()
    TxtLstBrd.Value = ""
    TxtLstHg.Value = ""
    TxtLstBrd.Enabled = False
    TxtLstBrd.BackColor = &HE0E0E0
    TxtLstHg.Enabled = False
    TxtLstHg.BackColor = &HE0E0E0
    TxtLstBrd.Value = CInt(TxtBldBrd.Value) + CInt(TxtPpt1Li.Value) + CInt(TxtPpt1Re.Value)
    TxtLstHg.Value = CInt(TxtBldHg.Value) + CInt(TxtPpt1Bo.Value) + CInt(TxtPpt1On.Value)
End Sub
 
opgelost

YES Rudi en Danny!

Hiermee kan ik verder en het integreren met de rest.

Bedankt.
 
Cint is niet mogelijk

Helaas, het leek mooier dan het uiteindelijk is want alles moet door de Cint functie in millimeters ingegeven worden omdat het anders afgerond wordt. Dat zou op zichzelf geen probleem zijn maar in het hele programma wordt met mm achter de komma gewerkt.
 
Je hebt ook nog bvb. cDbl ter beschikking, om om te zetten naar een Double.
 
Beste Wigi ;)

Dit lost wimven zijn probleem ook niet op.

De uitkomst wordt niet na de komma weergegeven in de userform.

Groetjes Danny. :thumb:
 
Maak gebruik van Excel's/VBA's ingebouwde faciliteiten:
Code:
Private Sub CommandButton1_Click()
    TxtLstBrd.Value = ""
    TxtLstHg.Value = ""
    TxtLstBrd.Enabled = False
    TxtLstBrd.BackColor = &HE0E0E0
    TxtLstHg.Enabled = False
    TxtLstHg.BackColor = &HE0E0E0
    TxtLstBrd.Value =[COLOR="Red"] 0 [/COLOR]+ TxtBldBrd.Value + TxtPpt1Li.Value + TxtPpt1Re.Value
    TxtLstHg.Value = [COLOR="red"]0[/COLOR] + TxtBldHg.Value + TxtPpt1Bo.Value + TxtPpt1On.Value
End Sub
of
Code:
    TxtLstBrd.Value =[COLOR="Red"] 1* [/COLOR] TxtBldBrd.Value + TxtPpt1Li.Value + TxtPpt1Re.Value
    TxtLstHg.Value = [COLOR="red"]1*[/COLOR]  TxtBldHg.Value + TxtPpt1Bo.Value + TxtPpt1On.Value
Mij lijkt alle invoer in mm geschikter (en gebruikelijker)
 
Laatst bewerkt:
Beste snb ;)

Dit uitkomst was vanaf post #13 al goed enkel als je een cijfer ingeeft na de komma geeft hij als uitkomst geen komma weer.

Vb. 32,5 + 2*4 = 405 ipv 40,5

Dit is volgens mij het probleem waar wimven mee zit.

Groetjes Danny. :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan