Reverse True/False with VBA

P

ph8

Just a quick question that I couldn't find an answer to after searching
because of how often the words "true" and "false" appear in different
threads.

How, with VBA, can I reverse a cells value from True to False and the
other way around?

The cell in question is A11, the value will always be either true or
false. The below didn't work for me.
cells(11,"A")= -(cells(11,"A"))

The reason I ask this is because I have similar check boxes on two
different sheets, and I need their values to match. I couldn't use the
linked cell option because it wouldn't let me link the cell to a cell in
another sheet. Which is why I am using VBA to change the other cell's
value so that the other sheet's check box changes as well. If theres
an easier way to do this, then I am all ears for suggestions :).

Thanks for your help.
 
R

Rick Hansen

ph8,
If your using CheckBox's from the Control ToolBox you can try this
code.. The Code goes in the "CheckBox1_Change() event. The value of the
checkbox will be copied the sheet and cell location.

HTH, Rick


Option Explicit

Private Sub CheckBox1_Change()
dim ws1 as worksheets

set ws1 = worksheet("Sheet1") << -- Change Name of Sheet
ws.cells(11,"A").value = CheckBox1.value ''

End Sub
 
P

ph8

Thanks for the quick replies!

Rick,

Code
-------------------
Private Sub ocb_Military_Change()

Dim ws1 As Worksheets

Set ws1 = Worksheets("Detailed View") '<-- Mismatch
ws1.Cells(11, "A").Value = ocb_Military.Value

End Su
-------------------

Resulted in a type Mismatch error at that line. I tried using these a
well:
set ws1 = Worksheet(sheet1) '<-- Sub/Function not defined
set ws1 = Worksheet("Detailed View") '<-- Sub/Function not defined
set ws1 = Worksheets(sheet1) '<-- Mismatch

Couldn't get it to work it seems, which is unfortunate, as I believ
your way of solving the issue was better then my method. So if you ca
get it to work or find another way to make it work, please do share :).

Also, out of curiosity, whats the different between declaring ws1 a
"Worksheet*-s-*" or "Worksheet" (note plural vs not plural)?

Toppers,
That turned my True or False into -1. Not exactly what I was hopin
for. I was trying to do this without using an if/else statement. An
other ideas?

Does % do remainder division? If so I could just do...

dim i as integer
i = cells(11,"A")
i=(i+3)%2
cells(11,"A")=i

That would work, wouldn't it? Or would it give me a mismatch whe
"true" was trying to be stored as an integer
 
R

Rick Hansen

Ph8, I'm sorry there is a type o in the Code I sent you. Change the
First line to read

Dim Ws1 as Worksheet not ( Dim ws1 as Worksheets)

now the code should read as follows:

Private Sub ocb_Military_Change()
Dim ws1 As Worksheet

Set ws1 = Worksheets("Detailed View")
ws1.cells(11,"A").value = ocb_Military.Value

End Sub
 

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

Top