Cel veranderen van kleur door op te klikken

Status
Niet open voor verdere reacties.

HaBro

Gebruiker
Lid geworden
1 apr 2006
Berichten
64
Hallo

Ik zou graag in excel in VBA een aktief blad
dat als je op een cel klikt deze cel in zwart verandert
en als je er dan weer op klikt geen kleur geeft.

kan wel wat formules in VBA opzetten
maar ik heb geen idee hoe ik dit moet opzetten.

Heeft iemand een oplossing

Hans
 
HaBro,

Zet deze code achter het blad.
Als je 1x klikt word de cel zwart.
Als je dubbel klikt dan word de cel weer blank.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  With Selection
    .Interior.ColorIndex = 1
  End With
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  With Selection
    .Interior.ColorIndex = 0
  End With
End Sub
 
Hartelijk dank

Het werkt perfect om de cellen zwart te krijgen
de cellen zijn 128 horizontaal en 64 verticaal
zo kan ik figuren maken die later voor een grafische display zijn

is het nog mogelijk om deze code om te zetten
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  With Selection
    .Interior.ColorIndex = 0
  End With
End Sub
dat als de achter kleur al zwart is met 1 keer klikken weer blank wordt
dat dubbel klikken gaat vaak fout
 
HaBro,

Volgens mij werkt het nu zoals je wil.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Selection.Interior.ColorIndex = 1 Then
    Selection.Interior.ColorIndex = 0
  ElseIf Selection.Interior.ColorIndex = xlColorIndexNone Then
    Selection.Interior.ColorIndex = 1
  End If
End Sub
 
Laatst bewerkt:
Nog wat verbeterd
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Target.Interior.ColorIndex = IIf(Target.Interior.ColorIndex = xlNone, 1, 0)
End Sub
 
Hartelijk dank

Ik heb beide geprobeerd
en beide geven de compileer fout
er is een dubbel zinnige naam gevonden:Worksheet_SelectionChange

doe waarschijnlijk iets fout

Hans
 
In een Bladmodule mag maar 1 Worksheet_ SelectionChange staan
 
Geweldig

Werkt nu perfect en precies zoals ik wil
Hoornvan en Warme Bakkertje Hartelijk dank

Ik durf het bijna niet te vragen maar ik doe het toch.

als er nu bijv. cel B,4 en cel D,5 zwart zijn
dat er doormiddel van een startknop en berekeing uitgevoerd word
welke cellen zwart zijn
en dat dit bijv. op blad2 zo komt te staan

plot 4,2
plot 5,4
enz.

Misschien vraag ik nu wel te veel hoor

Hans
 
Laatst bewerkt:
Code:
Sub tst()
Sheets("Blad2").Columns(1).ClearContents
For Each cl In [A1:D5] 'pas hier je bereik aan
    If cl.Interior.ColorIndex = 1 Then [Blad2!A65536].End(xlUp).Offset(1) = "plot " & cl.Row & "," & cl.Column
Next
End Sub
 
Laatst bewerkt:
Ja Hoor

Hoe krijg jut voor mekaar.
Het werkt als een trein

Geweldig bedankt

nu werkt een display Y.X vanaf 0,0
en Excel vanaf 1,1

Dat is niet zo moeilijk
dat kan ik zelf wel...(dacht ik)
gewoon cl.row - 1
= "plot " & (cl.Row)- 1& "," &( cl.Column) -1
maar nee hoor op verschillende manieren geprobeerd
maar krijg zelfs dat niet voor mekaar

Dit is echt het laatste wat ik vraag hoor

Hans
 
Kijk eens of je hier mee verder kan
Code:
Sub tst()
Sheets("Blad2").Columns(1).ClearContents
For Each cl In [A1:D5] 'pas hier je bereik aan
    If cl.Interior.ColorIndex = 1 Then [Blad2!A65536].End(xlUp).Offset(1) = "plot " & cl.Row - 1 & "," & cl.Column - 1
Next
End Sub
 
Oke

Hij is voor de Bakker
kan nu mooi spelen met 128 x 64 Pixels te plaatsen

Nogmaals Bedankt
 
Zet jij 'm dan nog even op opgelost :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan