Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Hallo allen,

 

Dit is mijn eerste vraag hier op pc-helpforum. Ik hoop dat we er uit komen.

Ik heb de afgelopen dagen flink zitten puzzelen. De situatie:

 

Op het werk hebben we een bestand waarin we onderdelen opsommen inclusief hun revisies.

Onderdelen kunnen revisie A tot en met Z hebben en halverwege de letterrevisie overgaan naar een cijferrevisie (0-10) vanwege een mal-aanpassing.

In het Excel-bestand is kolom I de revisieletter volgens CAD (A-Z). Kolom J is het revisienummer volgens CAD (0-10). Kolom K is de revisie volgens de producent (A-Z-0-10). Kolom L is de revisie in ons achterliggende programma (eveneens A-Z-0-10) en kolom M is de revisie volgens de 2D-tekening (ook A-Z-0-10).

 

Wat wij willen (zie bijlage):

 

Wanneer kolom I wordt ingevuld met bv. A dan moeten kolommen K tot M rood zijn als zij niet ook revisie A bevatten. Als kolom K/L/M ook 'A' bevatten, moeten zij groen worden.

Wanneer bijvoorbeeld van revisie G naar revisie 1 overgegaan wordt, moet de letter blijven staan in kolom I en moet deze gearceerd worden (zie bijlage). Hierna moeten ook kolommen K tot L groen worden als ze dezelfde waarde bevatten als kolom J. Zoals in de bijlage te zien is, is revisie A overgegaan naar revisie 0 voor het CAD-model. Maar ook bij de producent is revisie 0 bekend, dus zou cel K5 groen moeten zijn, maar dit doet Excel niet omdat deze een voorwaardelijkeopmaakregel heeft die zegt dat cel K5 rood moet zijn als I5<>K5.

 

Kortom:

Kolom K/L/M=I/J --> groen

Kolom K/L/M<>I/J --> rood

 

De standaard kleur is van de kolommen J-M is rood.

 

Ik ben nu zo ver dat met de voorwaardelijke opmaak het revisienummer goed gaat, maar zodra de revisieletter overgaat naar een nummer, moet de letter verwijderd worden (anders ziet kolom K dat de beide waarden uit I5 en K5 niet gelijk zijn en blijft hij rood). De wens is juist om de letter te laten staan zodat snel gezien kan worden hoeveel revisies er nodig waren voor een onderdeel.

 

Ik hoop dat jullie kunnen helpen.

Ik begin een beetje VBA te leren dus als het alleen daarmee op te lossen is hoor ik het graag.

 

Stephan

2017-08-29 16_41_16-Kopie van R&D_Project-BOM_Template_20170807-2_FB_JR11.xlsx - Excel.png

Geplaatst:

EDIT: Als we toch bezig zijn :)

 

Wat we ook graag willen is dat de cellen van kolom E niet in te vullen zijn totdat er bij D "Yes" is geselecteerd.

Dus bijvoorbeeld: de cel grijs en dat je er niet in kunt typen totdat D5 op "Yes" staat.

Part number.jpg

Geplaatst:

Hallo Haije,

 

Super! Dit komt zeker goed in de buurt, en sowieso al veel beter dan de 10 regels die ik gebruikte.

Wanneer de letterrevisie in K5 niet gelijk is aan I5 wordt K5 rood. Dat is top!

Echter, wanneer bij J5 nu 0 (of een ander cijfer) ingevuld wordt, blijft K5 nog groen.

Hij moet dan juist rood worden omdat de revisies niet gelijk zijn aan elkaar.

 

Heel erg bedankt al in ieder geval!

  • 2 weken later...
Geplaatst: (aangepast)

Stephan,

 

kun je nog een keer proberen uit te leggen wanneer welke kleur getoont moet worden?

 

Gezien het aantal keren dat de vraag bekeken is kom ik tot de conclusie dat e.e.a. niet helemaal helder is.

aangepast door Haije
Geplaatst:

Ik hoop dat dit het verduidelijkt:

 

Wanneer J5 leeg is en I5 ≠ leeg:

I5 = K5/L5/M5 --> groen

I5 K5/L5/M5 --> rood

 

Wanneer J5 leeg en I5 leeg:

I5 gearceerd, en

J5 = K5/L5/M5 --> groen

J5 K5/L5/M5 --> rood

Geplaatst:

@Stephan,

in de door jou vermelde cellen zijn er veel meer combinatiemogelijkheden dan je hierboven vermeldt. Dan blijft altijd de vraag wat er in de niet-vermelde gevallen moet gebeuren. Maar dat moet je met de gegeven oplossing zelf gemakkelijk kunnen aanpassen.

Jammer overigens dat je niet vermeldde wat je zelf al hebt geprobeerd. In je eerste bericht schreef je immers dat je vba aan het leren bent en een probleem als dit biedt daarvoor aardige leermogelijkheden.

PC-Helpf Stephan3321.xlsm

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.