Loop And Parse All Occurrences Of Text After Text In A String
Nov 29, 2011
I am working on modifying this code (below) that I found here: VB Macro to search webpage for text string
Code:
Option Explicit
Public stResultstr As String
Sub SearchForString()
Dim rngURL As Range
Dim cll As Range
Dim stCheck As String
Dim xmlHttp As Object
[Code]...
So right now I have the script prompt you for a URL range, then it asks you for what you want to search for, and I have it set to return the next 10 characters from that found point.
You can see here:
Code:
If InStr(1, stResult, stCheck, vbBinaryCompare) > intt Then
intt = InStr(1, stResult, stCheck, vbBinaryCompare) + Len(stCheck)
I began to create something to identify the last position of the found item because next I want to loop it to find the next occurance of the same thing and return the next 10 characters after it in the next cell to the right in that same row:
Code:
cll.Offset(, 1).Value = stResultstr
Again, what I want to do here is find and parse out every occurence of a string (inputbox) found on a web page url in column A. The parse occurrences will go to the right in cells C though ? for row N.
The string looks like this and runs down an unknown number of rows in one column, Col A.
+000800-000900+00123456-000800+0012345650+000700
I want to parse this so that the results will be text to columns
80.0 90.0 1234.56 80.0 1234.56 50 70.0
I want to thank BrettH for creating this VB. I want to manipulate it to read every row in Col A that has data, and then I want to parse the data as shown above. BrettH's VB works but I couldn't modify it to read all the rows that had data. I tried looping the rows using a counter loop and also a For Each loop, but could'nt get it to work.
Sub ParseInCellMath() Dim DefaultRange As String, UserRange As Range, OrigForm As String Dim TempForm As String, NegString As String, NegStart As Integer
I receive a text file daily of between 100 to 50,000 rows. It is a combination of many smaller text files or " records". Each record contains a row containing the name and some particulars . From 1 to 5 rows below that row there may or may not be a row containing the score for that record.
Here is an example of what the rows look like;
4505329 64036593 150090 MS MARY SMITH AB Finished CRP 3.0 SCORE: 400
From the first row I need to pull out the second string of digits (ex 64036593) and the person's name. From the second row I need to extract the score (400). I would like to copy the three pieces of information to 3 separate columns on another sheet. Comments 1. the word "Finished" always appears at the end of the row with the name in it but it also appears at the end of every record in it's own row like this; Finished No Note 2. the strings of digits in the first row can vary in length but there are always 3 of them and they are always seperated by spaces.
I need to extract all the names and scores and put them in a table. If a name is not followed by a score I need to put "no score".
I have a spreadsheet which consists of Sheet 1 and Sheet 2.
In Sheet 1, Column I there is a list of country names which indicate who visited our website at a certain time. So for example England may be listed multiple times.
In Sheet 2 I have a table showing January through to December in a column and the different country names across the top in one row.
I want the Table in Sheet 2 to count how many times England (for example) occurs in Column I and to indicate that as a numeric value.
I am trying to identify the row(s) where a match occurs when there can be multiple occurrences of the match.
A B C
1 john brown Brown True
2 Cathy Smith
3 Brown excavating company
4 XYZ Corp
5 Brown Advisors Inc.
The first test I ran in cell C1 with the information above was to determine if "Brown" was located in the range of A1:A5 using formula: =IF(ISNUMBER(MATCH("*"&B1&"*",A1:A5,0))=TRUE,"True","False")
In the case of the word "Brown" it occurs in the range of A1:A5 three times, so the result of the above formula would be "True"
Now what I would like to do is return the locations, in this case the row number(s), where the word brown is contained range of A1:A5 because in the case of the word Brown, it occurs three separate times in the range of A1:A5. I would like the resulting value of the formula in this case to be "1, 3, 5" indicating the word Brown occurs in rows 1, 3, and 5. The formula also needs to work in case there is only one match as well.
I tried using the below array formula: ={MATCH(FALSE,ISERROR(SEARCH(B1,'Working List of Vendors'!$A$1:$A$5)),0)} But it would only return the first occurrence of the match which in this case would be row 1, or "1"
I'm looking for some code to loop through some rows of text and then if the text contains / replace that with a space. My code is below:
Code: do until intdemandrow = 1 If InStr(Range(cells(intdemandrow, 1).Value, "/") Then replace(cells(intdemandrow, 1).value, "/", " ") intdemandrow = intdemandrow - 1 end if loop
Trying to Parse text in Excel - Since there is no definitive length and no standard in the way the name is created , I am having tough time to use the Software reports.
A column is from software report,
I am looking for any option to arrive at values as appearing in F column.
I did B and C column but not sure is there any other efficient way of doing the same or any other formula to arrive at F - Desired Result.
I'm trying to populate a ComboBox or ListBox with elements parsed from a html code I've already parsed from a webpage. Explaining: I was able to extract from the webpage code the part that contains the information I want, which is:
Now I want to make a ComboBox containing every university as a different option and, if possible, to assign them the corresponding values shown in the code.
I need 3 columns - Title - HD - Channel. If no value for HD, the field would be blank.
Data looks like this in txt file: > A&E HD 265 > ABC Family HD 311 > Altitude Sports and Entertainment HD 681 > American Movie Classics (AMC) 254 > Animal Planet HD 282 > BBC America 264 > BET Jazz 330 > BYU TV 374 > Big Ten Network HD 220 > Black Entertainment Television (BET) 329 > Bloomberg Television 353 > Boomerang 298
Needs to look like this in Excel > Should look like: > A&E HD 265 > ABC Family HD 311 > Altitude Sports and Entertainment HD 681 > American Movie Classics (AMC) 254 > Animal Planet HD 282 > BBC America 264
I have a software application that imports audio files and writes information about these files to text files. I'm trying to write and Excel/VBA application that will parse and import the data contained in these files. find a sample of one of these files attached. The big hurdle I am facing is I cannot figure out how to parse this file - the delimiter keeps changing as throughout the file (see example below):
I was wondering how I would go about witting a vba for that can be connected to a button which would allow me to enter a row of input. Some of these values I would like entered for example are: Quantity, Shape, Weight, length.... I would like the user to be prompted to enter these values and then have these values entered into columns, ABC... in a row on the spread sheet.
The catch is I would like this new date to be entered on one sheet via its weight (so that lightest material is on top), on another sheet in this workbook entered via its location so material in the same locations are adjacent to one another, and then finally I would like this updated onto another worksheet.
I am attempting to extract a particular piece of data from a webpage. I was not able to use a webquery because the data can only be reached by searching an online database and the URL remains static throughout this process. http://gisims2.co.miami-dade.fl.us/myhome/proptext.asp
The data of interest is contained in a simple, 2-column table with item descriptions in the first column and item values in the second. The code below is my closest attempt. I am attempting to look through the innertext of all the tables on the results page and see if any contain the text "CLUC", which is the description of the data I'm trying to retrieve. The code never finds any qualifying tables.
Sub PropInfo() Dim appIE As SHDocVw.InternetExplorer Set appIE = New SHDocVw.InternetExplorer Dim varTables, varTable Dim varRows, varRow Dim varCells, varCell Dim lngRow As Long, lngColumn As Long 'OPEN INTERNET EXPLORER, GO TO WEBPAGE appIE.Visible = True appIE.navigate "http://gisims2.miamidade.gov/MyHome/proptext.asp" Do While appIE.Busy: DoEvents: Loop Do While appIE.readyState <> 4: DoEvents: Loop.........................
I have a text file with no discernable format ( can't import into excel) that is too large to put all the data into an excel worksheet. This file is made to print out on a network printer.
I don't need all the info in the file, I would like to specify a variable, search the text file for the variable, then specify the amount of rows down to look for the data value and input the result into an excel spreadsheet.
I am trying to determine a way to quickly import data from text files into Excel and place data in suitable columns (under correct headings). I am thinking I could be asked which file to read and import doing them 1 by 1, or if there is an automated way to cycle through all the files that would be more efficient (filenames are variable).
From the text files I have attached I can tell the column headers and what data should go under each. Not sure how you would describe the delimiting on these files? Are these files in a format that VBA could be used to reduce manual copy and paste approach? I have about 300 of these files I want to extract the data from.
Note: the attached files are from a public access website.
I have a set of task descriptions that I am attempting to trend on. Some of these (Column B) have the customer's name added to the description; others do not. I need to be able to make a list of task names (ColumnA), removing the name from the text string.
The formula I am using is [=LEFT(B3,FIND("for",B3)-2)].
The problem I am having is when the description does not contain the "for" built into the formula, I get "VALUE" error. What adjustment can I make to the formula to pull over the Description if the "for" does not appear in the text string?
Search the activecell for a text string (a), and then either paste in text string (b) at the end of the cell if (a) is found, or text string (c) if (a) is not found.
For example, if the activecell has "AA/" in it, I want the cell to become "AA/01" (pasting in "01" at the end), and if the cell has just "AA" in it, I want it to still become "AA/01" (pasting "/01" at the end). The macro will be linked to a commandbutton.
refer to the attached workbook for reference. I am looking for a function in Sheet1, Column E that will search for the value of Sheet1, Column A within Sheet2, Column A. When a match is found, the function should look across Sheet2, Columns B - V for values of 1. When such values are found, the function should return the associated value from Sheet2, Row 2. There may be multiple values of 1, and as such, the function should separate values with a comma.
How do I use an Excel formula to find which (if any) multiple sets, each of up to 50 words, exist in a series of rows of a spreadsheet - if set A has one or more words found in a searched cell.
A positive result will return a specific value in the designated result cell. If none of the words in Set A is found in the searched cell, the formulae will repeat the test for the words in Set B, and so on.
After all 50 sets of words have been tested, the formula will move to the next cell in the searched column.
New words will be added to the sets of words continually as required.
Multiple words within sets are included in double quotes. Within each set of words there will be some n-tuples of words (i.e. 24 adjacent words) that contain one or more of the words in the set, but for which the formula will be required to return a negative result. Example: Set A = word 1, word2, word 3, "word1 word2 word3". (The words within a set could also be each entered in separate columns, as opposed to all included in a single cell.) The single column of text to be searched is about 10,000 rows.
I am wanting to use the above in a spreadsheet that contains data downloaded from a series of bank accounts to automatically allocate items of expenditure to one of 20 or so different categories of expenditure.
The formula will search the description field to find words that are used in the in the downloaded files from the various accounts to describe each transaction.
If a word describing travel expenditure (e.g. hotel, "holiday inn" but not "holiday travel") is found in the description of an expenditure item - the item cost will be allocated to the TRAVEL EXPENDITURE column, which is one of 20 or so different categories of expenditure.
Happy to consider a different solution if the task can be done better a different way.
Tried using a combination of INDEX/SEARCH/IF in Excel, but was not able to get a correct result. PS I am using Excel 2011 for Mac - which does not allow macros, so the solution needs to be entirely formula based.
I'm pulling phone numbers out of text strings. There is text string ("Office:") indicating that the number following is an office number (the number that I need). MID and FIND take care of this. There are sometimes two instances of office numbers in single text string, so adding a second column using the third argument of FIND lets me start another search past the first instance of an office number. We have a bunch of office numbers with the qualifier "(Text)" after the original "Office" but before the phone number. How do I catch these ones?
An original text string entry appearing in an Excel cell would be:
"N7C Neuroprotective J5Z Antiviral, other M2Z Antiarthritic, other J5A Antiviral, anti-HIV"
I need to extract N7C, J5Z, M2Z and J5A from this string and list these alphanumeric values in separate cells adjacent to the original text string. The challenge is that these alphanumeric references may appear in different positions within the original string with no fixed value e.g. a "," separating them. The alphanumeric references may also be 3 or 4 characters in length and there may be different numbers of alphanumeric references in the original string.
Another example would be (very different from the first):
"T2Z Recombinant, other K5B Radio-chemoprotective J3Z Antibacterial, other D3A Vulnerary A10C Symptomatic antidiabetic K6Z Anticancer, other R8A Antiasthma B6A Septic shock treatment I1Z Immunostimulant, other S1Z Ophthalmological R8B Antiallergic, non-asthma M1A1 Anti-inflammatory"
You can see that in this further example "A10C" & "M1A1" are 4 character alphanumeric strings wheras the others feature 3 characters.
I have a column of data with letters in each cell, no numerical, only alpha. Now, some of those cells contain the letters "adj sub" as part of the text string in each cell. "Adj sub" is always at the beginning of the text string. As an example, a cell will look like this - "adj sub mhm". I want to delete rows whose cell description does not contain "adj sub" as part of the text in the cell.
Date: 17/09/2013 KO: 19:45 Ref: B Malone Att: 7,574 extraction of text from the above text string which is say in A1. What l need is for Date to go in A2, KO in B2, Ref in C2, & Att in D2. I'm using Excel 2003