Home |
Search |
Today's Posts |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Joel,
Many thanks for your reply and apologies for the late reply - I've just returned from holiday. The first routine (without HTTP split) was exactly what I wanted and works perfectly and my life has been made a whole lot easier! Thanks once again for your help! On 26 Mar, 12:01, Joel wrote: The code below need to be modified. *It look like the data in column A need to be split into a production number and a url. *I did not do this in the code below becuase I couldn't tell how to split the data. *Does the URL start with http://? *I supplied a second macro using HTTP to split the data. Sub move_url() RowCount = 1 Do While Range("A" & RowCount) < "" * *LastCol = Cells(RowCount, Columns.Count).End(xlToLeft).Column * *NewCol = LastCol + 1 * *If Range("A" & RowCount) = Range("A" & (RowCount + 1)) Then * * * Range("A" & (RowCount + 1)).Copy _ * * * * *Destination:=Cells(RowCount, NewCol) * * * NewCol = NewCol + 1 * * * Rows(RowCount + 1).Delete * *Else * * * RowCount = RowCount + 1 * *End If Loop End Sub here is code using HTTP: to split the data Sub move_url2() RowCount = 1 First = True Do While Range("A" & RowCount) < "" * *If First = True Then * * * data = UCase(Range("A" & RowCount)) * * * HTTP_POS = InStr(UCase(data), "HTTP:") * * * URL = Trim(Mid(data, HTTP_POS)) * * * data = Trim(Left(data, HTTP_POS - 1)) * * * Range("A" & RowCount) = data * * * Range("B" & RowCount) = URL * * * NewCol = 3 * 'column C * * * First = False * *End If * *If Range("A" & (RowCount + 1)) < "" Then * * * next_data = UCase(Range("A" & (RowCount + 1))) * * * HTTP_POS = InStr(UCase(next_data), "HTTP:") * * * URL = Trim(Mid(next_data, HTTP_POS)) * * * next_data = Trim(Left(next_data, HTTP_POS - 1)) * * * If data = next_data Then * * * * *Cells(RowCount, NewCol) = URL * * * * *NewCol = NewCol + 1 * * * * *Rows(RowCount + 1).Delete * * * Else * * * * *RowCount = RowCount + 1 * * * * *First = True * * * End If * * Else * * * RowCount = RowCount + 1 * * End If Loop End Sub " wrote: Hi all, I have an Excel spreadsheet of product details (around 1,500) that I need to re-format via a macro. *The problem I have is that each product has several urls (up to 8 in total) that point to different photographs of the product in question however each url is on a different line within the spreadsheet and I need to put them in sequential order on one line. *Ideally, I would then want to *delete the lines on the spreadsheet where the url information has been moved from. This is a simple representation of how the spreadsheet looks at the moment: * *A * * * * * * * B * * * * * * * C * * * * * * * D 1 *Productid 1 * * url1 2 *Productid 1 * * url2 3 *Productid 1 * * url3 4 *Productid 2 * * url1 5 *productid 2 * * url2 Each line contains exactly the same product information except for the column containing the URL (in the above example column B) which changes. I need to move all the urls that correspond to each product onto the same line and in sequence. *For example: for productid 1, url2 (b2) needs to move to c1 and url3 (b3) needs to move to d1. *Now that there are no further urls that correspond to productid 1, the macro would continue on and apply the procedure to productid 2 in which url2 (b5) needs to move to c4. *Note: a product may have up to 8 associated urls. Example: * *A * * * * * * * B * * * * * * * C * * * * * * * D 1 *Productid 1 * * url1 * * * * * **url2* * * * * **url3* 2 *Productid 1 * * url2 3 *Productid 1 * * url3 4 *Productid 2 * * url1 * * * * * **url2* 5 *productid 2 * * url2 Once the url has been moved to the first line for each productid, this additional line is no longer required and needs to be deleted. *I should therefore be left with the following data once the macro has finished running (i.e. lines 2,3 and 5 in the above example): * *A * * * * * * * B * * * * * * * C * * * * * * * D 1 *Productid 1 * * url1 * * * * * *url2 * * * * * *url3 2 *Productid 2 * * url1 * * * * * *url2 Could anybody point me in the right direction in terms of achieving this. *The deletion of redundant lines is not a major problem (this can be done manually by applying a filter afterwards) however would be nice. *The main sticking point is moving the urls to the first product line. Thank you in advance for your help!- Hide quoted text - - Show quoted text - |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Macro code to put series name next to individual line in line grap | Charts and Charting in Excel | |||
MOving Data to the next line | Excel Worksheet Functions | |||
moving to the next line in the appropriate column using VBA code | Excel Programming | |||
Looking for code to separate one line of text into multiple lines in Excel | Excel Worksheet Functions | |||
minimizing redundant code | Excel Programming |