ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How do I: Cycle through selections by clicking on cell (https://www.excelbanter.com/excel-programming/288714-how-do-i-cycle-through-selections-clicking-cell.html)

jasonsweeney[_10_]

How do I: Cycle through selections by clicking on cell
 
I need a user interface that does the following:

Click on cell A1 once and it produces a "1" in cell B1
Click on cell A1 a second time, and it products a "2" in cell B1
Click on cell A1 a third time, and it produces a "3" in cell B1
Click on cell A1 a fourth time, and it produces a "4" in cell B1
*** Click on cell A1 a fifth time, and it resets the cell to "". an
the process can be repeated.

Thus, a person can cycle through the numbers 1-4 in cell B1 by simpl
clicking on cell A1 four times....I think I have to select a differen
cell after each cycle so the person has to click BACK on cell A1 t
trigger....thus the last code line will select a different cell tha
the A1 cell.

Below is the code I have so far, but it does not work. It cycle
through the 4 numbers instantly without stopping. Thus I need t
arrest the cycle after each mouse “click”. Any help would be greatl
appreciated.

[In cells B1:B12 I entered the months of the year]
_____________________________________

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("A1:A12")) Is Nothing Then

If Target.Offset(0, 1) = "" Then
Target.Offset(0, 1).Value = 1
Target.Offset(0, 2).Select

If Target.Offset(0, 1) = 1 Then
Target.Offset(0, 1).Value = 2
Target.Offset(0, 2).Select

If Target.Offset(0, 1) = 2 Then
Target.Offset(0, 1).Value = 3
Target.Offset(0, 2).Select

If Target.Offset(0, 1) = 3 Then
Target.Offset(0, 1).Value = 4
Target.Offset(0, 2).Select

If Target.Offset(0, 1) = 4 Then
Target.Offset(0, 1).Value = ""
Target.Offset(0, 2).Select


End If
End If
End If
End If
End If
End If

End Sub

*** Extra help...this code also produces an error if the user tries t
select more than one cell at a time...

--
Message posted from http://www.ExcelForum.com


mudraker[_118_]

How do I: Cycle through selections by clicking on cell
 
Try this for starters

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Count 1 Then
Exit Sub
ElseIf Target.Address < "$A$1" Then
Exit Sub
End If
If Range("b1").Value 3 Then
Range("b1").Value = 0
Else
Range("b1").Value = Range("b1") + 1
End If
Range("c1").Activate
End Su

--
Message posted from http://www.ExcelForum.com


jasonsweeney[_11_]

How do I: Cycle through selections by clicking on cell
 
Thanks. That solved several problems.

Here is the question. Is there anyway around having to select another
cell between cycles?

The reason is when I try and quickly click on the cell to cycle
through, excel thinks I want to type text in the "selection" cell.

In short, I want to quickly cycle through the numbers....


---
Message posted from http://www.ExcelForum.com/


jasonsweeney[_12_]

How do I: Cycle through selections by clicking on cell
 
Ok.....

My boss wants two sections of a worksheet that, when a person clicks on
one cell, the cell directly next to it produces a numerical value that
cycles between 4 numbers as you continue to click on the cell.

Example:
Envision cells A1:12 displaying the months of the year. If you click
on March (A3) one time you get a "1" in cell B3. Click March a second
time you get a "2" in cell B3, etc. (a "Cycle".)

In Cells C1:C12 you have a list of names. Clicking on a name in C6
starts a Cycle in cell D6.

I have the sub-routine that causes the cell to cycle through 4 numbers
by clicking on the cell (see below).

HELP: How do I implement BOTH of subroutines at the same time. This
is what I tried and it produces all sorts of errors:
_______________________________________

Private Sub Worksheet_SelectionChange(ByVal target As Range)
'
If Not Intersect(target, Range("A1:A12")) Is Nothing Then
Call firstselectionsub
'
'
Else
If Not Intersect(target, Range("C1:C12")) Is Nothing Then
Call secondselectionsub
'
End If
End If

End Sub

Sub firstselectionsub()

If target.Count 1 Then
Exit Sub
Else
If target.Offset(0, 1) = "" Then
target.Offset(0, 1).Value = 1
target.Offset(0, -1).Select
'
Else
If target.Offset(0, 1) = "1" Then
target.Offset(0, 1).Value = 2
target.Offset(0, -1).Select
'
Else
If target.Offset(0, 1) = 2 Then
target.Offset(0, 1).Value = 3
target.Offset(0, -1).Select
'
Else
If target.Offset(0, 1) = 3 Then
target.Offset(0, 1).Value = ""
target.Offset(0, -1).Select

End If
End If
End If
End If
End If
End If


End Sub

secondsectionsub
If target.Count 1 Then
Exit Sub
Else
If target.Offset(0, 1) = "" Then
target.Offset(0, 1).Value = 4
target.Offset(0, -1).Select
'
Else
If target.Offset(0, 1) = "4" Then
target.Offset(0, 1).Value = 5
target.Offset(0, -1).Select
'
Else
If target.Offset(0, 1) = 5 Then
target.Offset(0, 1).Value = 6
target.Offset(0, -1).Select
'
Else
If target.Offset(0, 1) = 6 Then
target.Offset(0, 1).Value = ""
target.Offset(0, -1).Select

End If
End If
End If
End If
End If
End If

End sub


---
Message posted from http://www.ExcelForum.com/



All times are GMT +1. The time now is 08:33 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com