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

afronden datalabel

Status
Niet open voor verdere reacties.
Werkt perfect. Ik heb nu ook ontdekt dat je in tabellen geen namen meer hoeft te gebruiken maar dat je kan volstaan met tabelkoppen in je aanduidingen. Dat is handig want heb ik al een versie met 27 grafieken, scheelt een hoop typewerk.

Ik heb de usVerwerking uitgebreid met USL,Target en LSL waarden. Deze moeten als blauwe resp. zwarte horizontale lijnen in de grafieken komen te staan als de desbetreffende checkbox is aangevinkt. Met een aangevinkte checkbox maar leeg invulvak, dan geen lijn.
 

Bijlagen

  • afronden numberformat v3.xlsm
    333,6 KB · Weergaven: 14
Code:
     With Sheets("Grafieken")                                   'blad met je grafieken
          For i = 1 To [COLOR="#FF0000"].chartobjects.count[/COLOR]                     'alle grafieken langslopen
excel houdt zelf een lijstje bij met de verschillende grafieken (Chartobjects) in de volgorde van hun aanmaak.
Je hebt geluk dat die nu nog netjes in volgorde onder elkaar staan.
Knip anders eens de 2e grafiek en plak die onder de 5e grafiek, zodat die fysiek de laatste wordt.
VBA blijft hem aansturen als de 2e.
Verwijder dan eens die 2e die je zonet verhuisde en VBA zal de 3e als 2e, 4e als 3e, 5e als 4e pakken en daarna stoppen, want inderdaad er zijn maar 4 chartobjects meer op dat tabblad.

Die index "i" hierboven verwijst dus naar de historische volgorde van aanmaken, niet de positie op je werkblad.
Indien nodig kan er in een tabelletje aangemaakt/bijgehouden worden wat het adres is van de cel bovenlinks van iedere grafiek en daar een volgnummer aan toekennen, om vervolgens dan met die nummer verder te werken.
 
2e alinea, ik zit even te zoeken hoe je die userform aanroept, hoe gaat dat en geef eens een voorbeeldje hoe je zo'n LSL of USL-lijn wil zien.
Dat worden dus nog 2 nieuwe reeksen ???
LSL = Lower S... Level/Line/Limit ?
 
Dat is wel een goed idee denk ik. Bij die andere versie heb ik de grafieken gekopieerd en geplakt tot ik er 27 had en vervolgens heb ik de namen van de grafieken gelijk gemaakt aan de tabelkoppen en dat lijkt te werken.

Is het handig om de nieuw berekende gemiddelde ed in de sheet te laten staan of is het overzichtelijker om dat in vba te verwerken. Ik moet ze in ieder geval verplaatsen omdat nu de data niet aangevuld kan worden.

USL staat voor Upper Specification Limit en LSL voor Lower Specification Limit. In die gevallen waarin de USL en de LSL worden weergegeven zijn dat de harde eisen voor afkeur en vervalt de afkeureis van >3s en/of <3s.

Als het goed is krijg je op het moment dat je het voorbeeldbestand opent een extra app in je werkbalk: "Charts". In "Charts" heb je onder "Data" de optie: "Properties" die de userform: usVerwerking opent. De extra app "Charts" met de daarbij behorende werkbalk wordt aangestuurd met de module "Callbacks".
 
ik heb wat zaken teveel tegelijk aangepakt en zit in de knoei met het rechts aanklikken van een punt, waardoor er nu op een andere grafiek een ander punt gedisabled wordt.
Dat kan ik straks nog oplossen, maar heb nu even niet de tijd.

In "Admin" heb ik onderaan wat cellen gereserveerd voor je waarden van LSL en USL met daarnaast een waarde 0/1 voor het geval je dat level op de grafiek wenst te zien.
De formules voor de waarden van gemiddelde en standaardafwijking heb ik even veranderd.
De waarden voor LSL en USL zijn nu formules, maar die wil je vast een bepaalde opgelegde waarde geven.
Je levels leveren nu een blauwe en zwarte horizontale streepjeslijn op.

Versleep je nu een grafiek naar onderen, dan wordt de volgorde van aanspreken van de grafieken bepaald door het rijnummer van de topleftcell !!!
(Dat veroorzaakt nu tijdelijk dat probleem met het rechtsaanklikken, want de 1e grafiek heeft indexnummer 5, etc)
 

Bijlagen

  • afronden numberformat v3.xlsm
    345,8 KB · Weergaven: 19
De y-waarden (ylevel) moeten op basis van de opgegeven waarden in de textboxen: USL_i, Streef_i, LSL_i en alleen als de checkboxen: chk_mi aangevinkt staan.
 
dat is een minimale aanpassing in usVerwerking, analoog aan Private Sub mx_cons_Change etc.
Maar eigenlijk kan je al die macrootjes ook door 1 algemene macro vervangen en die via een caller vervangen.
Scheelt een hoop schrijfwerk en is "h_ufterproof".
Is voor later vandaag, eerst werken.
 
Laatst bewerkt:
die 3e waarde, target, dat is een extra horizontale lijn zeker ?
 
een beetje te veel in 1 keer verandert, dus er kan hier en daar nog iets schorten.
Ik ben echt niet goed in klassemodules, dus dat heb ik even laten liggen.
 

Bijlagen

  • afronden numberformat v3.xlsm
    365,6 KB · Weergaven: 19
Ziet er goed uit. :thumb:

De klassemodules heb je nodig voor de caller?

In het grafiekenblad heb je best wel ingewikkelde formules gebruikt, is daar een reden voor of kan het net zo snel als met de bestaande formules die de berekeningen rechtstreeks vanuit de sheet: Data uitvoeren.

Die sub met verander textboxnamen is ook erg handig, met de versie van 27 grafieken heb ik dat allemaal met de hand moeten doen. Ik moet dan nog wel even bedenken hoe ik dit programma uit kan breiden met meerdere grafieken (of minder grafieken) zonder dat ik alle code om zeep help.

De mangenta pointer werkt niet meer, ik kan wel een punt aanwijzen en krijg dan ook een verticale lijn te zien alleen de waarde in het kader ernaast veranderd niet mee. Gaat me wel lukken om dat aangepast te krijgen.
 

Bijlagen

  • afronden numberformat v3.2.xlsm
    352,3 KB · Weergaven: 19
ok, vanavond krijg je een versie met klassemodules, zodat met een variërend aantal je niets moet wijzigen.
Die formules mogen door een eenvoudiger variant vervangen worden. (Die verschuif... was sneller bij het kopieren en plakken).

Die gegevens van de mangenta pointer houden ook nog verband met het hoger geciteerde probleem met de index van je chartobject. Ook voor vanavond (tenzij jij rapper bent).
 
met klassemodule, zonder de andere opmerkingen
 

Bijlagen

  • afronden numberformat v3.2.xlsm
    360,5 KB · Weergaven: 12
Dat is rap.

Ik krijg in sommige gevallen een foutmelding:
Code:
v = Fix((Ywaarden(ipts - 1) - g) / sd)
Delen door nul

De mangenta pointer gaat niet goed vanwege de toegevoegde index, zou dat kunnen?

Niet dat het erg is maar In de usVerwerking werkt de hoover geel niet meer goed, pas nadat je op ok geklikt hebt wordt de geselecteerde opdracht geel.

Die formules zijn inderdaad handig met kopieren je (ik) moet alleen zo nadenken wat er precies staat
Als ik de invoervakken van USL, LSL in usVerwerking leeg maak blijft er wel een waarde staan in het werkblad
 
Laatst bewerkt:
nog een belangrijke: als ik in usVerwerking de consensuswaarde wil gebruiken en dus ook invul dan worden deze waarden niet onthouden nadat ik het formulier afsluit en weer opvraag. Dat was eerst wel geborgd doordat die data in Admin kwam te staan en weer geladen in het formulier na openen.
 
wat zijn consensuswaarden ?
Ik denk dat de meeste problemen nu gecounterd zijn.
 

Bijlagen

  • afronden numberformat v3.2.xlsm
    353,7 KB · Weergaven: 18
Laatst bewerkt:
Goedemorgen
De consensuswaarden zijn de instelwaarden ofwel bovenste deel van usVerwerking. Deze werden weggeschreven naar de sheet Admin vanuit de module Admin. Dat werkt nu niet meer.
Als ik vanuit de werkbalk: >Charts, >Data, >Properties de usVerwerking open krijg ik eerst 5x de msgBox "foutje" te zien terwijl met de button vanuit Admin dat niet het geval is.
De waarden van de sd meting 3 en 4 staan op 0, dat lijkt ergens een verkeerde eigenschapsinstelling te zijn want in Admin worden wel berekende waarden weergegeven. Hoewel na een andere keuze te maken in usVerwerking komen er in usVerwerking vreemd hoge getallen te staan bij sd van 3 en 4 terwijl dan in Admin (D8 en D9) 2x 0 komt te staan.

pff, ik loop eindeloos achter met alles te begrijpen sorry.
 
- consensus : dat zijn dan de kolommen C en D van Admin en als je usVerwerking aanroept, dan zie je die realtime wijzigen.
- vreemd, ik had nog nooit via die weg die grafieken aangeroepen, dus gaat dat blijkbaar anders dan die userform initialise.
Er staat nu een extra regel in die klassenmodule "invoercontrole"
Code:
              Case "gem"                             'die "mx_gem" negeren via >Charts, >Data, >Properties
- 2e vreemde opmerking van jou, waar ik totaal niet kan op antwoorden ivm. die vreemde grote getallen. Die userform werkt niet met de regionale settings, dus , als decimaal en . als separator, maar op zijn amerikaans. Dus je getal wordt, op deze manier, zo maar eventjes maal 1.000 of 1.000.000 gedaan en ik weet niet waarom. Die wordt dus via een achterpoortje anders behandeld, je bent niet alleen die het niet begrijpt.:evil:
Misschien een nieuwe vraag openen op deze site, want ik denk dat in deze topic enkel wij 2 nog bezig zijn.
(jij werkte anders met een tag in die initialize ??)
 

Bijlagen

  • afronden numberformat v3.2.xlsm
    362,9 KB · Weergaven: 19
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan