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

Automatisch celkleuren aanpassen in Excel2000

Status
Niet open voor verdere reacties.

Ramac

Gebruiker
Lid geworden
16 jan 2008
Berichten
26
Heb een sheet opgesteld voor het verwerken van sportuitslagen (bridge). Hierin dienen bepaalde cellen (overige cellen = standaard 'geen opvulling') een andere kleur te krijgen. Dat gebeurt handmatig. De sheet bevat diverse formules.

Voor een totaal-overzicht van spelers en uitslagen icm voorwaarden van het "jaarkampioenschap" heb ik de sheet via "koppeling plakken" op een 2e blad geplaatst.

Bij de eerste invoer (overzetten) werden tevens de celkleuren meegenomen (via 'plakken speciaal / opmaak'). Alles functioneerde prima cq werd feilloos overgenomen van "master" naar "slave"-blad.
Echter - als een (of meerdere) celkleur(en) in het master-blad worden gemuteerd wordt dat niet overgenomen door het "slave"-blad. Het muteren van data werd daarentegen wel prima 'doorgezet'.

Er is geen sprake van enigerlei ingestelde voorwaarde(n) op zowel het master als het slave-blad, alle cellen zijn gede-blokkeerd, beide bladen zijn onbeveiligd.

Het is de uitdrukkelijke bedoeling dat het slave-blad zonder enige vorm van bewerking wordt bijgewerkt. Dat lukt - behalve de veranderde cel-kleuren.

Wie weet de oplossing ?
Excel2000 is �pgraded' om de bestandsvorm xlsx te kunnen verwerken. Ik werk met Win-XP Home.

Bij voorbaat bedankt.
Ramac
 
Ramac,

Allereerst jammer dat je niet een gestript voorbeeld hebt bijgevoegd. Over het algemeen geldt dat een koppeling tussen twee bladen alleen werkt op het gebied van gegevens en niet op het gebied van kleur. Dat blijft dus blad kopieren, plakken speciaal - opmaak.
 
Rob,

Dank voor je antwoord. Ook zonder sample snap je perfect wat de vraag inhoudt.
In afwachting van verdere tips/trucs -
kwam een vrijwel synonieme vraag tegen door "Barbarossa" (25-3-2009). Verschil met mijn case is dat ik werk met twee tabs in 1 bestand en dat Barbarossa hetzelfde wilde met 2 bestanden.
Iemand kwam met een VBE-formule + instructie op de proppen ;

1. Private Sub Worksheet_Change(ByVal Target As Range)
2. Workbooks(2).Worksheets(ActiveSheet.Index).Range(Target.Address).Value = Target.Value
3. Workbooks(2).Worksheets(ActiveSheet.Index).Range(Target.Address).Interior.ColorIndex = Target.Interior.ColorIndex
4.
End

Heb geen enkele ervaring met werken met VBE, dus ook geen flauw idee wat formule inhoudt. Heb desondanks instructie opgevolgd etc. Maar (celkleur-)mutatie in "master"-blad werd niet overgenomen in "slave-"blad.

Enig idee ?

gr
Ramac
 
Plaats in het code-blok van jouw "slave" sheet (rechtermuisklik op tab en kies programmacode weergeven):

Code:
Private Sub Worksheet_Activate()
    With ActiveSheet
        Sheets("Master").UsedRange.Copy .Cells
        UsedRange.Value = UsedRange.Value
    End With
End Sub

Pas het woordje Master aan aan de sheetnaam waarvan gekopieerd moet worden, laat de " staan.
Met deze code moet wel cel A1 gevuld zijn op het hoofdblad om eea ook exact op dezelfde rijen te plakken.

En de kleuren: het gaat toch niet om voorwaardelijke opmaak?
 
Eric,

bedankt voor hulp.

instructies/formule-invoer opgevolgd. Resultaat is dat er bij elke mutatie, ongeacht data of celkleurmutatie "Fout 1004" wordt getoond. Ook zonder mutatie verschijnt die melding zelfs bij schakelen tussen de tabs.
Via foutopsporing wordt de programmeerregel "sheets("master")...... geel.

Bovenstaand gebeurde nadat het deel spelers, incl open tussenrij, werd doorgezet met "koppeling/plakken". Dat kan wellicht het foutbericht hebben getriggered.

Maar - ook nadat ik de hele sheet (vanaf A1) heb doorgezet met "koppeling/plakken" krijg ik een foutmelding (Fout 9 - subscript valt buiten bereik) met dezelfde programmeerregel geel. Die fout-9 wordt alleen getoond bij mutatie celkleur.

In de bijlage het betreffende bestand om mee te experimenteren.

gr
Ramac
Bekijk bijlage Kampioenschap nieuw.xls
 
Ik kan geen fout ontdekken in jouw bestandje,
Iedere keer als de tab Verwerking wordt geselecteerd heb je een 1 op 1 kopie (waarden en kleuren) van Sheet Input A-B lijnen.

Je hoeft dan ook niks meer te plakken oid, wellicht dat 'iets' in xl2000 niet werkt maar dat lijkt me sterk...:rolleyes:
 
Eric,

begrijp ik goed dat het bij jou wel goed werkt ? dus info- en/of celkleurmutaties worden (dankzij jouw VBA-commando) probleemloos overgenomen vanuit master naar slave-tab.

Indien zo - dan heb ik blijkbaar een ander probleem. En dat wordt spitten.

Ter verduidelijking -
het bestand heeft 3 tabs. De bedoeling van de slave-tab (Verwerking) is om met trial and error te kijken of en hoe een full-automatic doorzetten kan worden bereikt vanuit de master-tab (Input).
Uiteindelijke doel is dat systeem te gebruiken in de 3e tab (Alg. Kampioenschap). Je ziet - alle spelersnamen van de 1e tab zijn - alfabetisch gerangschikt - samengevoegd. Het wordt dan weliswaar regeltje voor regeltje "koppeling/plakken" + "plakken speciaal/opmaak", maar dat is geen punt.

Verder - werk met een legitieme versie van Office Professional-2000, incl reg.code.


gr
Ramac
 
begrijp ik goed dat het bij jou wel goed werkt ?

Yep, Je kunt jouw blad verwerking helemaal leegmaken, iedere keer als de tab wordt geselecteerd wordt een kopie gemaakt (nu nog zelfs inclusief de plaatjes die nog niet worden verwijderd en dus steeds over elkaar worden gezet)
 
Blijft een puzzling story.
Blad "verwerking" leeggemaakt - opnieuw ingevoerd etc etc. Blijft foutmelding opleveren.

Laaste acties ;
* blad 'verwerking' geheel verwijderd.
* blad 'Input A-B lijnen' laten copyeren. (namen aangepast/hersteld)
* pagina-instellingen op beide bladen identiek ingesteld
* gehele blad 'verwerking' leeggemaakt.
* op blad 'Input' selectie A1-h46 (= alles binnen de stippellijnen) gemaakt (pagina wordt blauw)
* geklikt op "kopieren"
* op blad 'Verwerking' cursor op cel A1
* via 'koppeling/plakken' inhoud blad 'Input' overgezet (lege cellen krijgen een "0")
* via 'plakken/speciaal - opmaak' kleuren overgezet
* op tab van 'Verwerking' de VBA-code ingevoerd.
* bestand opgeslagen
* trials uitgevoerd

Ben nu net zover als voorheen - Foutmelding 1004. De eerder gemelde VBA-programmeerregel wordt geel.

Hierbij het bestand zoals het zich nu hier toont (V2).

Voor een cross-over check ; wil jij het bestand dat bij jou wel werkt uploaden, dan kan ik meteen het een en ander elimineren cq bepalen of er wel/niet iets met mijn Excel aan de hand is.


gr
 

Bijlagen

Laatst bewerkt:
Ramac,

Net even getest in XL2003; niks aan de hand, maar ook in XL97 getest en kreeg daar waarschijnlijk dezelfde foutmelding.

De foutmelding geeft aan dat er niet geplakt kan worden omdat het gekopieerde bereik en het te plakken bereik niet dezelde grootte hebben.

Pas de code eens als volgt aan:

Code:
Private Sub Worksheet_Activate()
Dim rngadres As String, shp As Shape
    With ActiveSheet
    For Each shp In ActiveSheet.Shapes
            shp.Delete
        Next shp
        rngadres = Sheets("Input A-B lijnen").UsedRange.Address
        Sheets("Input A-B lijnen").UsedRange.Copy .Range(rngadres)
        UsedRange.Value = UsedRange.Value
    End With
End Sub

en laat het blad verwerking gewoon helemaal leeg, geen kleurtjes, plaatjes, koppelingen, enkel de juiste kolombreedte en rijhoogte aanpassen want die worden (nog) niet meegenomen.
 
Eric,


great !!

werkt nu inderdaad feilloos.
Ga er mee aan de slag om te kijken of het hiermee ook mogelijk is om mutaties vanuit 'input' in "Alg kampioenschap" ook zover te krijgen.

Case is - voorlopig - closed.
Mijn grote dank voor je assistentie !!

gr
Ramac
 
Aan alle reflectanten (mn Eric) -

de aangeboden optie leek de oplossing - maar schiet helaas zijn doel voorbij.
De celkleuraanpassing is hiermee inderdaad mogelijk, maar er wordt tevens voor gezorgd dat het hele blad, inclusief indeling, identiek wordt aangepast in het doelblad ("slave").
De slave wordt hiermee een exacte copy van de master.
En dat is niet de bedoeling.

Heb diverse mogelijkheden uitgetest - al dan niet in combinatie met de eerdere formule.

De urgentie van een oplossing is overigens komen te vervallen. Met een andere bewerking (plakken/opmaak) is ook te leven. Ik heb begrepen dat in de laatste/latere versies van Excel celkleuren wel automatisch kunnen worden overgezet.

Het item wordt hierbij gesloten als "opgelost".


Ramac
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan