ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Text Clean-up Macro (https://www.excelbanter.com/excel-discussion-misc-queries/244579-text-clean-up-macro.html)

RedFive

Text Clean-up Macro
 
I am tasked with creating a macro that will automatically go through a sheet
filled with various records and delete any "extra characters" that may be
contained in the entries. I don't have much experience with macros so any
help or suggestion anyone could offer I would greatly appreciate.

Thanks,
--
RedFive

Gary''s Student

Text Clean-up Macro
 
Define extra characters
--
Gary''s Student - gsnu200906


"RedFive" wrote:

I am tasked with creating a macro that will automatically go through a sheet
filled with various records and delete any "extra characters" that may be
contained in the entries. I don't have much experience with macros so any
help or suggestion anyone could offer I would greatly appreciate.

Thanks,
--
RedFive


Dave Peterson

Text Clean-up Macro
 
Saved from a previous post.

Chip Pearson has a very nice addin that will help determine what that
character(s) is:
http://www.cpearson.com/excel/CellView.aspx

Depending on what that character is, you may be able to use alt-#### (from the
number keypad) to enter the character into the Other box in the text to columns
wizard dialog.

In fact, you may be able to select the character (in the formula bar), and copy
it. Then use ctrl-v to paste into that text to columns Other box.

You may be able to use Edit|Replace to change the character--Some characters can
be entered by holding the alt-key and typing the hex number on the numeric
keypad. For example, alt-0010 (or ctrl-j) can be used for linefeeds. But I've
never been able to get alt-0013 to work for carriage returns.

Another alternative is to fix it via a formula:

=substitute(a1,char(##),"")

Replace ## with the ASCII value you see in Chip's addin.

Or you could use a macro (after using Chip's CellView addin):

Option Explicit
Sub cleanEmUp()

Dim myBadChars As Variant
Dim myGoodChars As Variant
Dim iCtr As Long

myBadChars = Array(Chr(##)) '<--What showed up in CellView?

myGoodChars = Array("")

If UBound(myGoodChars) < UBound(myBadChars) Then
MsgBox "Design error!"
Exit Sub
End If

For iCtr = LBound(myBadChars) To UBound(myBadChars)
ActiveSheet.Cells.Replace What:=myBadChars(iCtr), _
Replacement:=myGoodChars(iCtr), _
LookAt:=xlPart, SearchOrder:=xlByRows, _
MatchCase:=False
Next iCtr

End Sub

If you're new to macros:

Debra Dalgleish has some notes how to implement macros he
http://www.contextures.com/xlvba01.html

David McRitchie has an intro to macros:
http://www.mvps.org/dmcritchie/excel/getstarted.htm

Ron de Bruin's intro to macros:
http://www.rondebruin.nl/code.htm

(General, Regular and Standard modules all describe the same thing.)

RedFive wrote:

I am tasked with creating a macro that will automatically go through a sheet
filled with various records and delete any "extra characters" that may be
contained in the entries. I don't have much experience with macros so any
help or suggestion anyone could offer I would greatly appreciate.

Thanks,
--
RedFive


--

Dave Peterson


All times are GMT +1. The time now is 05:44 PM.

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