Solved

EXCEL - If cell contains more than 6 characters then go to other cell - How to?

Posted on 2016-08-15
3
110 Views
Last Modified: 2016-08-29
Hi Experts.
I need a simple formula that says if a certain cell has more than 6 characters do nothing and let cursor drop down to cell below.
If there is exactly 6 character then move cursor to another cell.

Thanks  for your help.
Capture.PNGDUMMY-FILE.xlsx
0
Comment
Question by:chris pike
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 27

Expert Comment

by:Glenn Ray
ID: 41757044
Re-stating your question to make sure I understand:
You want an automated procedure to move the cursor to cell H7 if the number of digits/characters in the currently-selected cell is six (6).

If so:
1) There is no formula that will do this; you'll have to use VBA to reselect cells given these conditions.
2) Your "H6" cell scenario is a contradiction.  If there are either six or more characters in H6, cell H7 would be selected.

What would be your expected response if there are less than six characters in a cell?  Halt there?  

-Glenn
0
 
LVL 18

Accepted Solution

by:
xtermie earned 500 total points
ID: 41765222
You need a macro to do that.
However Glenn is right, you need to work out the logic for this
Now, the following code will:
1) Perform your checks, as specified, for cell H2 (H3 in your reference)
Sub testx()
Dim ws As Worksheet
Set ws = Application.ActiveWorkbook.ActiveSheet

ws.Range("H2").Select
If Len(Selection.Value) = 6 Then
    ws.Range("H8").Select
Else
    If Len(Selection.Value) > 6 Then
        ws.Range("H2").Offset(1, 0).Select
    End If
End If
End Sub

Open in new window

2) Perform your checks as specified in the range you specify (H2 to H6)
Sub testx2()
Dim ws As Worksheet
Dim r As Range

Set ws = Application.ActiveWorkbook.ActiveSheet
Set r = ws.Range("H2:H6")

For Each Cell In r
Cell.Select
If Len(Selection.Value) = 6 Then
    ws.Range("H8").Select
Else
    If Len(Selection.Value) > 6 Then
        Selection.Offset(1, 0).Select
    End If
End If
Next
End Sub

Open in new window


Can be used in your Excel file as macros, hit Alt+F11 and then copy-->paste the macros
0
 

Author Closing Comment

by:chris pike
ID: 41774868
Thanks looks good.
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

622 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question