title: How to make checkbox react to adjacent checkbox in Excel
body: <p>I have 2 columns of checkboxes (from "Form Controls") in Excel (2010) that will indicate whether one of two tasks are completed. The 2nd task cannot be completed until the 1st one is done, but there could be instances where both tasks in a given row are completed in the same day. To avoid any extra clicks, I would like to make it so that if the 2nd task is completed (and checked) then the first task becomes automatically checked. </p>
  
  <p>How do I do this?</p>
  
  <p><strong>For example:</strong></p>
  
  <p><a href="https://i.stack.imgur.com/yOOm9.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yOOm9.png" alt="enter image description here"></a></p>
  
  <p>I want to be able to manually check cell <code>B5</code>, but if cell <code>C5</code> is checked, I want cell <code>B5</code> to be automatically checked. </p>
  
  <ul>
  <li><p>However, I don't want:</p>
  
  <ul>
  <li>Unchecking <code>C5</code> to impact <code>B5</code></li>
  <li>Checking/unchecking <code>B5</code> to impact <code>C5</code></li>
  </ul></li>
  </ul>
  
  <hr>
  
  <p>I know I could "cell link" the second checkbox column to a 3rd column to create an output, but I don't know how to make the first column checkbox reactive to that...</p>
  
  <ul>
  <li>However, ideally, I'd like to forego additional columns if possible.</li>
  </ul>
  
  <hr>
  
  <p><strong>FINAL Solution:</strong></p>
  
  <p>I used @GaryStudent's <a href="https://stackoverflow.com/a/42098086/4581200">answer</a> to inform my final generalized solution:</p>
  
  <ol>
  <li>Select all columns/rows of desired checkboxes</li>
  <li><p>Run WhatIsName macro to change name of each check box to the underlying cell it's within:</p>
  
  <ul>
  <li><p>Note: make sure checkbox is ENTIRELY within each given cell, or it won't work right!!</p>
  
  <pre><code>Sub WhatsInaName()
    Dim bx As CheckBox
    For Each bx In ActiveSheet.CheckBoxes
        bx.Name = bx.BottomRightCell.Address(0, 0)
    Next bx
  End Sub
  </code></pre></li>
  </ul></li>
  <li><p>Next, select last row of right checkbox column, right click, assign macro "CheckBoxSimplifier"</p>
  
  <pre><code>Sub CheckBoxSimplifier()
  it. Applies to all rows above it for some reason
      Dim MySelf As CheckBox, OtherBox As CheckBox
  
      Set MySelf = ActiveSheet.CheckBoxes(Application.Caller)
      Col = Mid(Application.Caller, 1, 1)
      Col2 = Chr(Asc(Col) - 1)
      Set OtherBox = ActiveSheet.CheckBoxes(Col2 &amp; Mid(Application.Caller, 2))
  
      If MySelf.Value = 1 Then OtherBox.Value = 1
  End Sub
  </code></pre>
  
  <ul>
  <li><p>For some reason, the code only works if you apply the macro to the <em>final</em> row of check boxes.</p></li>
  <li><p>Also, I found that I could onyl run the WhatsInaaName macro <em>once</em> per file. If I tried running it a 2nd time (e.g., after adding more rows), it failed to work correctly (and simply copied the final row from the previous time it was run.</p></li>
  </ul></li>
  </ol>