macro help for a beginner

  • Thread starter Thread starter Danz
  • Start date Start date
D

Danz

hi all, first time ive been here so please bear with me. the problem
have is that i know nothing about writing macro's (all i know is how t
open VB Editor,lol) i have been given the task of trying to work out
macro for a spreadsheet we use, basically what it needs to do (if i
can be done) is this : we have a coloum that needs to have a 'tick
icon in the cell, however if we can we would like this to happen b
just being able to click on the cell and the icon appears and then i
we click on the same cell the icon will be removed, this same actio
needs to happen on each cell in that coloumn so we can go down to an
cell and put a tick in it just by clicking the box like a checklist.
hope this explains it ok if not then please tell me what info would b
useful and i will try my best. Any advice on how i do this is greatl
appreciated, thanks in advance
 
Danz,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo sub_exit
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
With Target
If .Value = "a" Then
.Value = ""
Else
.Value = "a"
.Font.Name = "Marlett"
End If
.Offset(0, 1).Select
End With
End If
sub_exit:
Application.EnableEvents = True
End Sub

'This is worksheet event code, which means that it needs to be
'placed in the appropriate worksheet code module, not a standard
'code module. To do this, right-click on the sheet tab, select
'the View Code option from the menu, and paste the code in.

--

HTH

RP
(remove nothere from the email address if mailing direct)
 
Danz

Does exactly what you want, (Currently works on column A), providing you
have 'Wingdings' font installed. It may be better to use a 'double-click'
event as this one is detecting a selection change. If you click twice to
'toggle' the tick on and off, you do not change selection and it does not
fire. To implement this code go to

http://www.nickhodge.co.uk/vba/vbaimplement.htm#EventCode

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Columns("A:A")) Is Nothing Then
If IsEmpty(Target.Value) Then
With Target
.Font.Name = "Wingdings"
.Value = Chr(252)
End With
Else
Target.Value = ""
End If
End If
End Sub

--
HTH
Nick Hodge
Microsoft MVP - Excel
Southampton, England
(e-mail address removed)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top