Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Rename sheet
I am trying to rename the active sheet with 1st character of firstnam
and 1st character of lastname. E.g. in cell K2, I have the staff name John A. Doe. I want the curren active sheet to be rename to JD (i.e. the 1st character of first an last name respectively. Tried doing this but it didn't work: ActiveSheet.Name=CONCATENATE(LEFT(LEFT(K2,FIND( ",K2)-1),1),LEFT(RIGHT(K2,LEN(K2)-FIND("*",SUBSTITUTE(K2, ","*",LEN(K2)-LEN(SUBSTITUTE(K2," ",""))))),1)) Always have error in the "FIND" function. Thanks in advance for you hel -- Message posted from http://www.ExcelForum.com |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Rename sheet
VBA Find is not the same as the FIND() worksheet function.
To use this in VBA we have to put :- Application.Worksheetfunction.Find(....) - each time. Here is some simpler VBA code that also checks for a single space :- '------------------------------------------- Sub NAME_SHEET() Dim MyStr As String Dim C1 As String Dim C2 As String '------------------------------ MyStr = Range("K2").Value C1 = Left(MyStr, 1) sp1 = InStr(1, MyStr, " ", vbTextCompare) ' 1st. space sp2 = InStr(sp1 + 1, MyStr, " ", vbTextCompare) '2nd. space '------------------------------ If sp2 = 0 Then ' no 2nd. space C2 = Mid(MyStr, sp1 + 1, 1) Else C2 = Mid(MyStr, sp2 + 1, 1) End If ActiveSheet.Name = C1 & C2 End Sub '--------------------------------------------- -- Message posted from http://www.ExcelForum.com |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Rename sheet
AS long as you have XL2000 or above
Dim iPos as long With ActiveCell iPos = InStrRev(.Value, " ") ActiveSheet.Name = Left(.Value, 1) & Mid(.Value, iPos + 1, 1) End With -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "slc " wrote in message ... I am trying to rename the active sheet with 1st character of firstname and 1st character of lastname. E.g. in cell K2, I have the staff name John A. Doe. I want the current active sheet to be rename to JD (i.e. the 1st character of first and last name respectively. Tried doing this but it didn't work: ActiveSheet.Name=CONCATENATE(LEFT(LEFT(K2,FIND(" ",K2)-1),1),LEFT(RIGHT(K2,LEN(K2)-FIND("*",SUBSTITUTE(K2," ","*",LEN(K2)-LEN(SUBSTITUTE(K2," ",""))))),1)) Always have error in the "FIND" function. Thanks in advance for your help --- Message posted from http://www.ExcelForum.com/ |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
how do i rename a sheet if the rename tab is inactive? | Excel Worksheet Functions | |||
macro to: Add new sheet, then rename new sheet with todays date | Excel Worksheet Functions | |||
Move data to new sheet - rename sheet based on criteria ? | Excel Discussion (Misc queries) | |||
Rename Sheet | Excel Discussion (Misc queries) | |||
how do I rename a sheet | New Users to Excel |