Function/Macro that keeps first X characters in a cell and delets rest

A

andrei

So , i need a macro/function that keeps the first X characters in a cel
( the number is given ) and deletes the remaining characters

Example

In a cell i have the following text : *Mother and father*
I want the macro to keep the first 8 characters . So , in that cell
the result should be : *Mother a* . When i mean charcaters , i take int
consideration letter , space or numbe
 
R

Rick Rothstein

Let's assume your cell is A1; this line of code should accomplish what you
want...

Range("A1").Value = Left(Range("A1").Value, 8)

Since this changes the value in the cell itself, you cannot use a UDF (User
Defined Function), so I'm guessing you will want to use it in a macro. Your
description (as to how you wanted your code to perform) was not detailed
enough to decide how to structure the macro for you.
 
J

J_Knowles

Try this out:

Sub leftXChrs()
'keeps left x characters of a selected range
Dim c As Range
Dim mychrs As Long
On Error Resume Next
mychrs = InputBox("Be sure to select a range of cells. " _
& Chr(13) & "How many characters to keep?", 1)
If mychrs = False Or Not Application.IsNumber(mychrs) Then
Exit Sub
End If
For Each c In Selection
c.Value = Left(c.Value, mychrs)
Next c
End Sub

HTH,
 

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