Paul thanks, you helped me a ton. Basically this coupled with an
Outlook macro saved me 2 and a half hours a day in work. Thank you
very much. I can already see this being modified to help in other
tasks around the office!

Regards,
Jason

On Dec 3, 8:28 am, Paul Schreiner <schreiner_p...@att.net> wrote:
> OK... here's what I came up with.
> I'm sure there are MANY other ways of doing this, but this uses some
> concepts that it would be good for you to know.
>
> You described two problems:
> 1) Sometimes, there is a single space after the first character of the 
> movement
> type: "D 0970"
> 2) Add a suffix to the sheet name when a duplication occurs.
> So...
> ----------------------------------------------------------------------------------------------
>
> 1) Sometimes, there is a single space after the first character of the 
> movement
> type: "D 0970" 
>
> ---------------------------------------------------------------------------------------------- 
>
> When testing for the space, (If (Mid(tMvt, Pos, 1) <> " ") Then) instead of
> exiting
> the loop when you find one, check to see if the space is EARLY in the string.
> If Pos > 3 Then Exit For
> That way, if the string is "D0970", "D 0970", or even "D  0970", it will skip
> the space, but
> continue looking.
> ----------------------------------------------------------------------------------------------
>
> 2) Add a suffix to the sheet name when a duplication occurs. 
> ----------------------------------------------------------------------------------------------
>
> If your script attempts to rename a sheet to a name that already exists, it 
> will
> cause an error
> message.
> You can turn off this error message with:
>     On Error Resume Next
>
> then, you can check to see if an error occurred.
> If all is well, Err.Number = 0, if an error occurs, Err.Number will NOT be 0.
> In this case, Err.Number is 1004 and Err.Description is:
> "Cannot rename a sheet to the same name as another sheet, a referenced object
> library or a workbook referenced by Visual Basic."
>
> The next thing you need to know is that there are 256 characters in the ASCII
> character set (and Extended ASCII)
> (numbered 0-255)
> These can be retreived using the chr() function.
> It happens that:
> The Upper Case letters A-Z are Chr(65-90)  M = Chr(77)
> The Lower Case letters a-z are Chr(97-122) m = Chr(109)
>
>  So, if you wanted to append the letter "B" to your Movement and Docdate 
> string
> for the sheet name, use:
> ActiveSheet.Name = Mvt & " " & DocDate & Chr(66)
>
> But then, if THAT exists, you need to try "C", then "D".. and so on.
> since the ASCII index is numeric, you can use a simple loop:
>  
>     ' Attempt Letters B-M
>     For inx = 66 To 77
>         Err.Clear
>         ActiveSheet.Name = Mvt & " " & DocDate & Chr(inx)
>         If Err.Number = 0 Then Exit For
>     Next inx
> ----------------------------------------------------------------------------------------------
>
> With both of these solutions, your macro ends up looking like:
>
> Sub Sheet_Cleanup()
> Dim R, DocDate, Pos, tMvt, Mvt
> Dim inx
> For R = 1 To 100
>     If (Left(Cells(R, "A"), 5) = "Date:") Then
>       DocDate = Replace(Replace(Replace(Left(Cells(R, "A").Value, 15), 
> "Date:",
> ""), " ", ""), "/", "")
>       If (R > 1) Then
>         Rows("1:" & R - 1).Delete Shift:=xlUp
>         Exit For
>       End If
>     End If
> Next R
> For R = 1 To 100
>  If (InStr(1, Cells(R, "A").Value, "Movement") > 0) Then
>     Pos = InStr(1, Cells(R, "A").Value, "Movement")
>     tMvt = Trim(Mid(Cells(R, "A").Value, Pos + 12, 20))
>     Mvt = ""
>     For Pos = 1 To Len(tMvt)
>         If (Mid(tMvt, Pos, 1) <> " ") Then
>             Mvt = Mvt & Mid(tMvt, Pos, 1)
>         Else
>             If Pos > 3 Then Exit For
>         End If
>     Next Pos
>  End If
> Next R
> ' Upper Case A-Z are Chr(65-90)  M = Chr(77)
> ' Lower Case a-z are Chr(97-122) m = Chr(109)
> On Error Resume Next
> Err.Clear
>             ActiveSheet.Name = Mvt & " " & DocDate
> If (Err.Number > 0) Then
>     ' Attempt Letters B-M
>     For inx = 66 To 77
>         Err.Clear
>         ActiveSheet.Name = Mvt & " " & DocDate & Chr(inx)
>         If Err.Number = 0 Then Exit For
>     Next inx
> End If
> End Sub
>
> hope this gives you some new ideas to work with!!!
>
> Paul
>
> ----- Original Message ----
> > From: Paul Schreiner <schreiner_p...@att.net>
> > To: excel-macros@googlegroups.com
> > Sent: Fri, December 3, 2010 7:54:24 AM
> > Subject: Re: $$Excel-Macros$$ Sheet rename based on data in sheet & delete 
> > row
>
> > Sorry, got distracted.
> > I'll take a look and post something soon.
>
> > Paul
>
> > ----- Original Message ----
> > > From: JsinSk <jsin...@gmail.com>
> > > To: MS EXCEL AND VBA MACROS <excel-macros@googlegroups.com>
> > > Sent: Wed, December 1, 2010 12:24:49 PM
> > > Subject: Re: $$Excel-Macros$$ Sheet rename based on data in sheet & delete
> >row
>
> > > Paul,
>
> > > I have a another other question (excluding the previous one listed
> > > here in previous post).
>
> > > Sometimes the movement number has a single space between the letters
> > > and numbers that make up the flight number. Is there a way to include
> > > this information after the space (Total space will never exceed six
> > > characters/spaces). At current it doesn't include anything after a
> > > space.
>
> > > --
> >>----------------------------------------------------------------------------------
> >-
> > >-
> > > Some important links for excel users:
> > > 1. Follow us on TWITTER for tips tricks and links :
> > >http://twitter.com/exceldailytip
> > > 2. Join our LinkedIN group @http://www.linkedin.com/groups?gid=1871310
> > > 3. Excel tutorials athttp://www.excel-macros.blogspot.com
> > > 4. Learn VBA Macros athttp://www.quickvba.blogspot.com
> > > 5. Excel Tips and Tricks athttp://exceldailytip.blogspot.com
>
> > > To post to this group, send email to excel-macros@googlegroups.com
>
> > > <><><><><><><><><><><><><><><><><><><><><><>
> > > Like our page on facebook , Just follow below link
> > >http://www.facebook.com/pages/discussexcelcom/160307843985936?v=wall&;...
>
> > --
> >----------------------------------------------------------------------------------
> >-
> > Some important links for excel users:
> > 1. Follow us on TWITTER for tips tricks and links :
> >http://twitter.com/exceldailytip
> > 2. Join our LinkedIN group @http://www.linkedin.com/groups?gid=1871310
> > 3. Excel tutorials athttp://www.excel-macros.blogspot.com
> > 4. Learn VBA Macros athttp://www.quickvba.blogspot.com
> > 5. Excel Tips and Tricks athttp://exceldailytip.blogspot.com
>
> > To post to this group, send email to excel-macros@googlegroups.com
>
> > <><><><><><><><><><><><><><><><><><><><><><>
> > Like our page on facebook , Just follow below link
> >http://www.facebook.com/pages/discussexcelcom/160307843985936?v=wall&;...
>
>

-- 
----------------------------------------------------------------------------------
Some important links for excel users:
1. Follow us on TWITTER for tips tricks and links : 
http://twitter.com/exceldailytip
2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
3. Excel tutorials at http://www.excel-macros.blogspot.com
4. Learn VBA Macros at http://www.quickvba.blogspot.com
5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
 
To post to this group, send email to excel-macros@googlegroups.com

<><><><><><><><><><><><><><><><><><><><><><>
Like our page on facebook , Just follow below link
http://www.facebook.com/pages/discussexcelcom/160307843985936?v=wall&ref=ts

Reply via email to