Parsing Strings In VBA
I am trying to parse employee names into seperate string variables in order to display surname, first name and middle name in seperate fields on a form.
The format of the full name is "Surname, First Name, Middle Name (If any)
I have managed to deal with surname and firstname but I am stumped on middle name. Not all employees will have a middle name but for those who do, I need to parse it.
View Complete Thread with Replies
Related Forum Messages:
Parsing Data Strings Into Columns
I have a spreadsheet that gathers information from multiple cells and strings the data into a long string - each piece of data broken by a comma in the string.
In another spreadsheet, I copy this data string into column A on sheet 1 - starting on row 2 and down.
On sheet 2 - and this is where I need help - I would like to have a macro that will take each data string on Sheet 1 column A and parse it out into multiple columns but the same row on Sheet 2.
ColumnA Row2 Sheet1 -> changing to many columns on Sheet2 but still on the same row.
The data string always represents the same number of data components - its just a matter of breaking it out and placing each data piece into its own column.
String Parsing With Variable Length Strings
I am trying to split up a cell into numbers and charachters and place them in
separate columns, but the lenght of the number part varies as does the
content of the character part.
For example, one cell could be 5#, 10Tins, 4 lb, 100Pcs, etc.
I would like to be able to pull out the #, Tins, lb, and Pcs in to their
I have found this formula:
but it assumes some level of consistency, the "-" in the cell.
I have a text file that has data at various time steps say 0,1,2,3 etc. In each loop, the output data is recoreded that contains numbers and strings. I want to parse certain info from this text file.
Say I am interested in reading the data for very last time step, so when I open the text file for reading, I want to move down to the Time Step 3 line. Then I want to read the text line by line, any time I encounter the word WIND, I want to skip five spaces and pick up the number that appears there. I want to paste this value to say cell A1 in a sheet called ParsedData. I want to continue reading till the end while picking all such values and filling the ParsedData sheet A2, A3, A4 ... cells till the end.
Parsing The Data
I have arrived at the following in order to find the 5th "bar" in the data (samples below) :-
STR|6|L||396|3| STR|4|L|114|396|3| NHF||||1463|175| RND|4|H|111|2352|49|
Is it possible to reduce the repetition within the formula?
I have a parts list which came from one source in the format below. First column is the name of a product, the following columns show what components and what quantity go into the product:
Small Fruit Basket Apples 2 Oranges 3 Bananas 4
Large Fruit Basket Pears 5 Peaches 6 Mangos 2
The format I need it to be in is below, but I don't know how to go about it or if it's even possible:
Small Fruit Basket Apples 2
Small Fruit Basket Oranges 3
Small Fruit Basket Bananas 4
Large Fruit Basket Pears 5
Large Fruit Basket Peaches 6
Large Fruit Basket Mangos 2
if i have to search for some special character in a string and i use Instr function then which of the following is the correct way. Lets say i have to search for "****" in the string
Parsing Data Using $ Symbol
In general it looks like this: All in one column
flight 1.2 paid $50 owes $100
flight 1.5 paid $80
pass paid $125
ground 1.2 flight .9
checkout flight 1.2 paid $76
I need to extract the numbers with a $ sign into a separate column. to look like this:
flight 1.2 paid $50 owes $100...........50..........100
flight 1.5 paid $80...........................80
pass paid $125...............................125
ground 1.2 flight .9
checkout flight 1.2 paid $76...............76
.............. representing separate columns
Parsing A String Variable
It's been a long time, but I use to parse a string in C.
How do you strip off the long directory path of a string to just the filename and extension?
S:2006 jobs602f EID Bass Lake Recycle BPSConstructionSubmittal Review16940-Instrumentation602f-16940-01.rev.doc
Parsing A Vba's Variables Data
I have a 5th variable with a sentence in it for example
Sen=ĒThe bug and bird are in the parkĒ
What I need to know is which of the variables content appears in the variable Sen first and what position it is. In this case it would be variable three position 5.
Parsing Pasted Data
macro that will parse data that has been pasted in to Excel from a text document. Once the macro is executed the pasted data will be sent to a separate spreadsheet and parsed horizontally with the data residing in is respective cell.
Here is an example of my data from text:
ZIP CODE: 123456
STATE: Scary Ya
Here is an example of my desired results:
A2:Frank, B2:N, C2:Stien, D2:APT14, E2:Halloween, F2:123456, G2:Scaryville, H2:ScaryYa, I2: Transilvania, J2:N/A
The data is always pasted in A2 on the first sheet, and varies somewhat in length but the format is always the same.
Parsing Address Data
I have been given a set of data from one of our clients with company and address information in a Microsoft Word document. The data is not formatted into fields delimited by either a comma or tab and none of the fields has a heading of any sort. The data flows vertically rather than horizontally. I have imported the data into Excel in the hopes of being able to break out the data into an Excel or csv format in which the data can be imported into a Filemaker Pro database. Its format is the following:
Company Name (cell A:1)
Address (cell A:2)
City (cell A:3)
State (cell A:4)
Zip (cell A:5)
telephone (cell A:6)
I have tried recording a macro that moves the data from cell A:1 into cell B:1, then cell A:7 into cell B:2, etc. But have failed to get a macro to work that runs through all of the data in column A:A. The data is consistent - that is, there are only the 6 rows of data. Is it possible to write a code that moves the data from cell A:1 (the company name) into cell B:1, then skips 6 rows to cell A:7 (the next instance of a company name) and moves cell A:7 into cell B:2. The same procedure would then be run on the address, city, zip, and telephone.
Automated Web Query And Parsing
I am attempting to automatically (once a week) pull down the data from this site (http://www.dot.ca.gov/hq/esc/oe/plan...bidsum_csv.php) which is posted in a csv and parse it. While this may seem to be a simple process, the people who posted the CSV did not take into account that there are dollar values in the data in the millions and billions. As a result, a normal comma parse does not work since it splits the values.
Parsing Cells Into Hyperlinks
I'm creating a table to store a large amount of data that will be continously updated over time. The table however will be viewed from a website, not as an Excel document, and I found a great add-in that generates small, clean HTML code to that end.
I'd like to do something else a little more tricky however ( for me ). I'd like every item in the first column to automatically hyperlink to a predesignated URL, and then parse the contents of that cell onto the end of the web address. If the cell contained multiple words, it would parse "+" between each word to create the proper address. The hyperlinks will be fetching database information from an exterior website.
For example, Column1 Row1 might say "Dog", so a hyperlink would be generated to [url] Column1 Row2 might say "Red Corvette", so a hyperlink would be generated to [url]
Parsing Out File Into Multiple New Files
to separate a very large excel file into multiple files based on what's in a single column.
I am an intern at my district school board and I'd love to know if there is a way to do this.
In the attached file the first tab is an example of some of the information I have in my file. My file is thousands of rows larger. The next few tabs are examples of new files (not just new tabs) That I would like separated and saved somewhere on my hard drive.
Notice the files are split up based on the student.
Is there a way to parse out this information into new files? The file is huge and I need it to do this automatically. If it isn't possible to save new files, is it possible to parse out the students into new tabs? But I have too many students I think. How many Sheet Tabs can you have in 1 file?
Parsing A City Name When It's Concatenated To A Street Name?
I have an address field that is concatenated as such that the city name is attached to the end of the street name as follows:
4 Example WayOakland, CA 94601
I have over 200 of these with different addresses and cities in my workbook so it's not always the same length. How can I grab the city out of this string? Is there a way to key on the capital letter of the city? Or is there another way?
VBA: Parsing Multiple IP Addresses From A String
I have some code that will parse the FIRST IP address it finds in a string. Could someone help with the code for continuing through the remaining part of the string and parsing out any additional IP addresses it finds and concatenating them with a comma and space (", ")?
There are specific rules for validating a "proper" IP, but for the purposes of my work, I don't need to validate. I found the following code on a google group (thanks Jeff M). All it does is parse the numeric text surrounding the 3 periods that all valid IPv4 addresses contain. For my purposes, it works ....
Parsing A Specific Part Of A String
I have code that retrieves the body of an email. I need to parse out certain parts of the text. For example, the text will look like the following;
LastName: John Doe
I have the code to find where the specific item, ie LastName, starts in the whole text. I need to retrieve everything to the right of the : before the CRLF. That's what Im having trouble with.
Formula For Parsing If An Element Is True
My rows consist of the following cells, an author(s), an article name, a pubilcation name, a volume number, and a page number. There are thousands.
My first column has multiple names and need to separate the names into separate cells. Some names have a comma or semi-column separating them, some have the word "and" separating them. Most of the names are listed as last name, first name. (Some are not and I will have to deal wtih that later.)
Eisenhofer, Jay W., Jordan, Kirk S. Tucker, Marc B."Business Faces Harsh Sentencing Penalties",Delaware Business Review, October 7-13, 1991951
Embley, Craig M., Turezyn, Andrew J. and Welch, Edward P."Recent Developments in Delaware Corporate Law",S.A.S.M.& F., May, 19901443
I'm sure is a multiple part process. Is there a formula for placing anything separated by a comma into a new cell, or placing a tab between the names?
Ultimately this data will be placed in database from which to search for a name and article, etc.
Searching A Column A For A Value In Colmn B And Parsing It
I have the fopllowing situation: My vendor supplies me with a csv file with all of the products/descriptions/price/categories each week. I need to import this information into a database which is working fine, but the problem I have is the vendor is putting the manufacturer as a category also. which creates 1,750 categories. Not very user friendly.
California Exotics;Miscellaneous;Retail Display Packaged;
California Exotics;Miscellaneous;Retail Display Packaged;
Miscellaneous;PipeDreams;Retail Display Packaged
PHS International;Bulk Packaged Products;Miscellaneous
California Exotic Novelties
California Exotic Novelties
I need to be able to search for the value in column b (not case sensitive) and remove the value of b from a.
String Parsing Formula/Function
I have a series of codes, such as:
The /'s represent variations on the same code, so the first one is shorthand for:
I would like to be able to split the code into a new line (or lines) wherever a / occurs.
There are any number of dashes and slashes within the code, however, there are none at the beginning or end of the code.
The slashes will be always surronded by dashes eg xxx-xx/xy-xxx.
Parsing/renaming Data In A Cell
ABCDE1Source DataDesired Result
Include these extensions: Exclude these extensions:2OLD.FILENAME.rar.htmNEW.FILENAME.rar
I'm looking for a formula which can take my original data (column A) and "transform" it into what you see in column B.
I am transferring large amounts of files from various servers to my ftp and back out again. My original data are url filenames which of course, are named differently and not how you see it in my example.
The filenames themselves are preceeded by website names and varoius folder/path names. I edit the links to include various Usernames and Passwords and at the same time, rename the original filenames. Then I transfer the files to my ftp.
Most of the files have a ".part*.rar" extension at the end, so my formula has only included this scenario. Rather than manually editing my formula everytime a different extension is present (about 20-30% of the time), I would like to find a way to automatically look at a table/list of possible extensions (D2:D7) which are to be recognized for the sake of finding the end of the filename itself, so that I can rename (SUBSTITUTE) the original filename to that of my choice (cell D13) and of course, also include the original extension(s) of the source data (keeping this is important, especially in the cases where ".part*.rar's" are present). The list of extensions in cells E2:E7 are to be excluded from the new filename.
My present formula works fine for the editing of the username and passwords for various servers and for finding the beginning of the filename in the original url. It also works fine for finding the end of the filename (for the sake of renaming it), but only in cases where a .part*.rar" is present.
Parsing Names In Separate Cells
a smart formula (no VBA) that will reverse the order of a list of names - parsing into separate columns.
The formula needs to be able to recognize/distinguish that if a comma(s) is present, then the names are listed as last, first middle. If there is a period this means the name has a middle initial or that a suffix is present. So,if the names are listed as last, first and middle then in the next columns will have in the proper order first name, middle name or initial (keep the period) and last name (loosing the comma of course).
If the original name order is in normal order - first middle and last then the formula should just pass through without any change. Would need to preserve generational titles such as Jr., Sr., III etc. Not sure where the best place for the generational titles should end up. Probably as part of the last name. See examples:
Col ACol BCol CCol D Col E
William J. ClintonWilliam J. Clinton
Churchill, Winston Leonard Spencer Winston Leonard Spencer Churhill
Bates, JohnJohn Bates
James Knoll PolkJames Knoll Polk
Taft, William H.William H. Taft
Carter, James, Earl, Jr.James Earl Carter Jr.
Rockefeller, John Davidson, IVJohn Davison Rockefeller IV
Gates, William, H., IIIWilliam H. Gates III
St. James, Michael, Ken Michael Ken St. James
I tried using many variations of FIND, SEARCH, LEN and searching all the Excel boards to no avail.
Text Parsing, Find String After : Character
I am reading lines from a textfile. Each line in the textfile has the identical format: textstring1:textstring2. The two strings are always separated by the : character. I have the code to get textstring1, but because I'm a rookie, I can't figure out how to get textstring2. See the code in bold, this is the line I need to get textstring2.
Parsing A Row Of Multiple Items From A List Of Matching Unique
I have two worksheets: A and B.
Worksheet A:Contains 2 columns: Issue# (Col. A) and Program (Col. B).
Issue# contains a list of multiple issues. There are several instances in which the issue# is repeated.
Any particular Issue# field may have several issues in it, delimited by a comma.
Program is a program associated with the issue and this column also contains duplicates.
Worksheet B:Contains 1 column: Issue# (Col. A)
This is a unique list of issues#'s.
All Im looking to do is parse all Issue#'s from Worksheet B and have some way of knowing if that issue# is anywhere in Worksheet A. Most importantly, I need the "indicator" to be displayed on Worksheet A. This way I can see what program(s) is/are associated with the matching issues.
A couple other notes:All Issue#'s in Worksheet B are referenced at least once in the Worksheet A Issue# list
There are several issues in Worksheet A which are not referenced in the issue list on worksheet B (of which I dont care about)
I really hope that makes sense, but if not...
Here's the best example I could come up with: ....
Two Strings In One Cell
I have two adjacent strings in a CSV file that I'm importing which were originally intended as a single piece of data. The format of the strings are:
5'-3 3/4" (Yes, it's a good old imperial length measurement)
Right now, I have (5'-3) in one cell, and (3/4") in the next.
I'd like to try to append the second string (3/4") to the first in a single cell. Is there any way for me to do that using VBA?
Strings And Ranges
I'm getting this weird error which must because I've overlooked some simple thing about formatting (is it called formatting?) my variables.
See, what I think is wrong is that I'm comparing a string with a range and that can make 37 not equal to 37.
Because that is my problem; I have an If statement that compares 2 variables that I know should be the same but the If statement doesnt think so. So to my question; am I on the right track here and if so, how should I tell vba what is a string and what is a range and if I am on the wrong track here;
Comparing Strings ..
I have two string that I want too compare.
String 1 could be something like channel_0_user_defined._system
string 2 could be channel_0_user_defined
I want too compare string2 with string 1 at the left side of string 1.
I don't really know what I should use I found startswith, but vba doesn't have this particular function.
Merge Two Strings And Use Them As A Name?
For example: I want to sort through a a bunch of textboxes and refer them to certain cells. I know I can have a string "TextBox" and then the looping number "nbr" and merge them into for instance TextBox1. But I can't figure out how to use this as a command. Like
I am trying to compare two cells to see if its two values are the same. Some of the cells have a space in between numbers or a symbol like "-"
one cell's value is
and the other cell's value is
the program I have written marks these as different because of the "-" in the second cell....is there a way, maybe with a string function to overlook that "-"?
I've got above basic VBA knowledge and learning very quickly (largely due to great forums like this) I'm now creating a userform for the first time. I'm trying to create a New Supplier form and one of the fields is going to be for Supplier ID where it takes the first 6 letters of the Supplier name (entered by the user) & tags on '001' at the end. I've managed to do this but I would like some code to search existing supplier ID's ( Column A on separate sheet) and check whether the ID created already exists and if it does add on '002' instead of '001'.
SO for example..
If user creates a supplier called Microsoft the supplier ID will be Micros001 - this I can do, but if Micros001 already exists then it will generate an ID
Micros002, Micros003 and so on...
Manipulating Text Strings
I have a column filled with names per row. I wanted to standardize it by using the following format.
The comma after the last name is always an indicator to me that it is the last name.
<First Name> <Middle Initial(if any)> <Last Name>
My actual records contains the following:
BIMBO EPPING - OK
AHMAD SADICK - OK
Salana, Laura R - need to be arranged to > Laura R Salana
Cantos, Rhoda Grace J - need to be arranged to > Rhoda Grace J Cantos
Countif With Text Strings
How would I write a formula to Countif or Sumif a cell contains a string of text? ie if I wanted to look for "Andrew" in cells that contained the text "AndrewKent", "Andrew Kent", "Kent Andrew" etc how would I do it?
VB For Finding Certain Val's At END Of Text Strings
Column A has prepopulated list of values of various lengths, no spaces. Need to search column A for certain values at the END of each text string, and then populate the cell right next to it with another constant value.
Example: macro searches column A for cells with "123" at the END of the cell value (whole cell value could be A123 or ABC123, etc...). When macro finds the cells that meet this criteria, it places the constant value "XYZ" in column B right next to the cell in col A.
I need several variations on this theme and the # of characters being searched for at the end of each text string can vary. The constant value to be inserted in Col B can also vary. I imagine 'For Each' loops for every variation would work, I just do not know how to write the code for searching the "end of the text string" part of it
Limit Occurences Of Certain Strings
I am using a code to validate that a person enters only an email address in a certain cell. I would like to confirm that the address has only two occurences of ".", and of course one occurence of "@". What would be the easiet method to do this.
SUMPRODUCT In VBA With Dates As Strings
I am currently coding up a VBA macro that will counts up the number of occurrences of a particular event for a particular date. The problem is that it keeps returning zero as the result. I thought it might have been a data type mismatch issue as the cell format is a date in the mm/dd/yyyy format but the data is stored as a string so that I can easily manipulate it with the built in VBA functions. I tried changing the data type but still received zero as the result. 'a' and 'c' refer to cell ranges, criteria is a string of characters and criteria2 is a string that pulls in a date in the format of mm/dd/yyyy. I know this code works when I don't use dates but I can't figure out why it doesn't work with dates.
criteria = Application.Workbooks(FileName).Worksheets("Day_Counts").Range("B1").offset(0, column).Value
Converting Strings To Dates
converting text strings to dates.
The dates I have imported into a spreadsheet are of the format:
I use code to convert it to this format
But with some of the dates, I get
11/5/2008 whereas with others, I get
However, if I recorded a macro the date format appears as
11/5/2008 for all the dates.
But the code is excatly the same, if I
For Each celld In Range([e1], [a1].End(xlToRight))
If celld.Value Like "*DATE" Then
On Error Resume Next
Also, how do you convert strings to dates using VBA?
I thought DATEVALUE performed this function but keep getting errors when i try using it.
List Of Strings In Column A
I have a list of strings in column A like this:
/Image in Filed/October 08/airline/arrival guides
/Image in Filed/October 08/movies/New Releases
/Image in Filed/October 08/tv/Escape
I need to put to the variable string which is after last "/" in the cell A#
in this case: arrival guides, New Releases, Escape
Identify Substrings From Within Strings
Let's say I have a named Range for Cells from A1:A10 on Sheet2 called "List". Examples of what could be contained within this Range are: "dog", "cat", "mouse", etc.
I then have a list of data in Column A on Sheet1, and I want to know whether any of the strings contained within my named Range are contained within Column A. Examples of what could be in Column A are: "the dog jumped over the fence", "the cat ran around the table", etc.
Does anyone know a formula I can use that will identify what string from my named Range is in Column A, by means of entering that string into Column B of Sheet1?
Finding Specific Strings
I have a combination of letters and numbers in a column. For example.
I need a formula to tell whether they begin with two letters and have a certain number of numbers then end in letters. Or have letters in the middle. Sorry Im so vague, I just need a start in the right direction. Ideally combined with an IF statement.
In english (If two letters afetr nine numbers then yes)
Short Number Strings
finding or developing a compressing technique, which can compress a 7 number string i.e., 11,10,1,2,10,7,5 down to 6 or 5 lossless, that would be amazing.
I already researched many compression technique; Huffman, Run-Length and LZ78 which all do well on large data sets and I only have a few numbers. If it helps by converting the numbers to binary for better compression then I what to known. I know that a solution could be impossible as we would know about it already but may be someone knows a trick to get rid of one digit.
Manipulating File Name Strings
I have a filename in the format XXX-YYY-ZZZ.xls, where all the XXX and YYY and ZZZ are of variable length. Sometimes it is of the format UUU-XXX-YYY-ZZZZ.xls
I wish to delete all the characters to the left of the rightmost "-" character, including that "-" character.