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

aktie op kleuren van een cel

Status
Niet open voor verdere reacties.

vrouw

Terugkerende gebruiker
Lid geworden
27 mrt 2010
Berichten
1.537
Hallo,

Is het in Excel ook mogenlijk om (dmv VBA) ook een aktie te laten volgen op het kleuren van een cel.

Dus ik maak cel A1 geel en alle cellen op de 11 regen worden gekopieerd naar een ander bestand.:P
 
Volgens mij genereerd kleurverandering geen change event. wel kan het opgepikt worden als er vervolgens nog wat anders veranderd, maar puur op de kleur niet
 
En het zou wel kunnen al ik bijv een cijfertje 1 in de cel zou zetten?
Dat is dan wel weer zo definitief want dan overschrijf ik de cel.zou het ook op een andere manier kunnen?
 
Wat je bijvoorbeeld kunt doen is code gebruiken indien een andere cel wordt geselecteerd.

Code:
Dim sLoc As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not sLoc = "" Then
    If Range(sLoc).Interior.ColorIndex = 6 Then MsgBox "Geel"
End If
sLoc = Target.Address
End Sub

Bovenstaande code onthoudt de laatst gekozen cel.
Indien een gele cel wordt gekozen en vervolgens een andere cel op het werkblad (hetzij met de pijltjestoets of met de muis), dan verschijnt de melding Geel.

Met vriendelijke groet,


Roncancio
 
Wat je bijvoorbeeld kunt doen is code gebruiken indien een andere cel wordt geselecteerd.

Code:
Dim sLoc As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not sLoc = "" Then
    If Range(sLoc).Interior.ColorIndex = 6 Then MsgBox "Geel"
End If
sLoc = Target.Address
End Sub
Bovenstaande code onthoudt de laatst gekozen cel.
Indien een gele cel wordt gekozen en vervolgens een andere cel op het werkblad (hetzij met de pijltjestoets of met de muis), dan verschijnt de melding Geel.
Met vriendelijke groet,
Roncancio

Huhh:o
Dit snap ik niet, kan je het misschien iets anders uitleggen?(blond he):p
 
Huhh:o
Dit snap ik niet, kan je het misschien iets anders uitleggen?(blond he):p

De code plaats je in de VBE.
Zodra je de cursor verplaatst (met muis of pijltjestoets), onthoudt de macro de laatstgekozen cel.
Dus cel B19 is geselecteerd. De code onthoudt dit.
Vervolgens ga je met de muis naar cel G5.
De computer kijkt of cel B19 (de vorige cel dus) een gele achtergrond heeft.
Is dat niet het geval dan gebeurt er niets. Is de achtergrond wel geel dan verschijnt de melding "Geel".

Met vriendelijke groet,


Roncancio
 
oke, de code moest in de sheet geplaatst worden en niet in de module:o:o

Nu is er inderdaad een aktie als de cel geel gemaakt word dmv een MsgBox.
Kan de aktie van de MsgBox ook vervangen worden door:
Ik maak cel A1 geel en alle cellen op de regel 1 worden gekopieerd naar een ander bestand.
 
oke, de code moest in de sheet geplaatst worden en niet in de module:o:o

Nu is er inderdaad een aktie als de cel geel gemaakt word dmv een MsgBox.
Kan de aktie van de MsgBox ook vervangen worden door:
Ik maak cel A1 geel en alle cellen op de regel 1 worden gekopieerd naar een ander bestand.

Is het altijd de 1e regel die moet worden gekopieerd of de laatstgekozen regel?
Naar welke regel moet de 1e regel worden gekopieerd?

Met vriendelijke groet,


Roncancio
 
Het is de regel waar je een verandering in maakt bijv doordat je een cel in die regel geel maakt.
---------
Er is een groot bestand met honderden regels aan artikelen.
Ieder artikel heeft een eigen regel. Op een bepaald artikel word in een ander systeem een aktie ondernomen en dat wil ik dan markeren in dat grote bestand.
Handig zou het dan zijn dat die regel met markering(artikel waar dus aktie op is gedaan) word gekopieerd naar een ander bestand waar deze regel word bewaard om overzicht te houden.
--------------
Mocht het niet gaan met kleuren dan kan er ook nog een alternatief volgen door bijv te werken met een kruisje/letter/cijfer in een cel maar het nadeel is dan dat de info in die cel is overschreven.
een kolom toevoegen is waarschijnlijk geen optie in het grote bestand omdat die dan in de "soep" loopt.
 
Code:
Dim sLoc As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If IsError(Workbooks("NAAM BESTAND")) Then
    MsgBox "Bestand is niet geopend.", vbExclamation, "File niet open."
Else
    If Not sLoc = "" Then
        If Range(sLoc).Interior.ColorIndex = 6 Then Range(sLoc).EntireRow.Copy Workbooks("NAAM BESTAND").Worksheets(3).Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    End If
    sLoc = Target.Address
End If

End Sub

Met vriendelijke groet,


Roncancio
 
Ik heb onderstaande code in de VBA van de sheet gezet?(dus niet in thisworkbook?)
twee bestanden open, bestand geel = het grote bestand
bestand geel2= waarheen gekopieerd moet worden.

Er word echter niets gekopieerd, wat doe ik fout?

Code:
Dim sLoc As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If IsError(Workbooks("[COLOR="red"]geel.xls[/COLOR]")) Then
    MsgBox "Bestand is niet geopend.", vbExclamation, "File niet open."
Else
    If Not sLoc = "" Then
        If Range(sLoc).Interior.ColorIndex = 6 Then Range(sLoc).EntireRow.Copy Workbooks("[COLOR="red"]geel2.xls[/COLOR]").Worksheets(3).Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    End If
    sLoc = Target.Address
End If

End Sub
 
Code:
Dim sLoc As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If IsError(Workbooks("geel[B][COLOR="red"]2[/COLOR][/B].xls")) Then
    MsgBox "Bestand is niet geopend.", vbExclamation, "File niet open."
Else
    If Not sLoc = "" Then
        If Range(sLoc).Interior.ColorIndex = 6 Then Range(sLoc).EntireRow.Copy Workbooks("geel2.xls").Worksheets(3).Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    End If
    sLoc = Target.Address
End If

End Sub
Inderdaad moet de code in het worksheet en niet in Thisworkbook.

Met vriendelijke groet,


Roncancio
 
Oke, code aangepast.

Maar ik snap er niks van als ik dus een cel in de kolom A geel maak (met Interior.ColorIndex = 6)
word er niets naar bestand geel2 gekopieerd.:o
 
Oke, code aangepast.

Maar ik snap er niks van als ik dus een cel in de kolom A geel maak (met Interior.ColorIndex = 6)
word er niets naar bestand geel2 gekopieerd.:o

En als je nadat je een cel geel hebt gemaakt, een andere cel selecteer?
Ik neem aan dat je de cellen handmatig geel maakt.

Met vriendelijke groet,


Roncancio
 
En als je nadat je een cel geel hebt gemaakt, een andere cel selecteer?
Ik neem aan dat je de cellen handmatig geel maakt.

Met vriendelijke groet,
Roncancio

Klopt, ik maak ze handmatig geel.
Ook na het selecteren van een andere cel gebeurd en niks.:o
 
Klopt, ik maak ze handmatig geel.
Ook na het selecteren van een andere cel gebeurd en niks.:o

Dan doen we het anders...
Selecteer een gele cel en ga naar de VBA-code.
Selecteer de 1e regel in de code en klik op F9.
Er verschijnt nu een rode stip in de kantlijn van de code.
Ga terug naar Excel en selecteer een andere cel.
Als het goed is, wordt de geselecteerde regel in code zichtbaar.
Deze verschijnt ook in het geel!
Ga met F8 stap voor stap door de code om te zien wat er gebeurd.
Zo kun je zien welke stappen de code neemt en waarom de regel niet gekopieerd wordt.

Met vriendelijke groet,


Roncancio
 
Precies zo gedaan als je zegt en dmv F8 doorloopt ie netjes de code tot end sub.

Maar... niet gekopieerd:cool:

P.S.
Wat een service met steeds zo`n snelle reactie, TOP:thumb:
 
Precies zo gedaan als je zegt en dmv F8 doorloopt ie netjes de code tot end sub.

Maar... niet gekopieerd:cool:

P.S.
Wat een service met steeds zo`n snelle reactie, TOP:thumb:

Heb je overigens het 3e werkblad van Geel2 al gecontroleerd?

Met vriendelijke groet,


Roncancio
 
Heb je overigens het 3e werkblad van Geel2 al gecontroleerd?

Met vriendelijke groet,
Roncancio

Hoe stom kan ik zijn:shocked::shocked::shocked::shocked:

Daar staan ze ja, nu zie ik dat ook in de VBA staan.

Nog een vraagje maar misschien ga ik nu wel te ver:p

Is het ook mogelijk om met twee:o kleuren te werken?
Ik zie nl dat de kleur meegekopieerd word naar het nieuwe bestand(perfekt) en als ik dan met twee kleuren (met dezelfde aktie van het kopieren) kan werken heeft dat twee betekenissen....
 
Hoe stom kan ik zijn:shocked::shocked::shocked::shocked:

Daar staan ze ja, nu zie ik dat ook in de VBA staan.

Nog een vraagje maar misschien ga ik nu wel te ver:p

Is het ook mogelijk om met twee:o kleuren te werken?
Ik zie nl dat de kleur meegekopieerd word naar het nieuwe bestand(perfekt) en als ik dan met twee kleuren (met dezelfde aktie van het kopieren) kan werken heeft dat twee betekenissen....

Ja, dat kan.
Zijn dat de enige kleuren die je gebruikt, of gebruik je ook kleuren die niet gekopieerd moeten worden?

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan