Solved

Data segregation

Posted on 2013-01-14
2
416 Views
Last Modified: 2013-01-14
Hi,

I have a formula / macro written which will actually separates the data and will fill in the appropriate buckets. The below line is copied to ‘Copied’ worksheet in ‘PAC Standard.xlsm’ workbook. Once copied, the formula in ‘Sorted’ worksheet will search for the required data and will put in the appropriate bucket.  This works really fine when there is only one serial number in the given line. Please refer to ‘PAC Standard v1.1 one line only.xlsm’ workbook for better understanding.

Example of a line with one serial number:

Serial Number :PSQS Dummy S/N;Host Name:Pillar Bricks Integration;Instance Id :60091571;

However, if the line has multiple serial numbers then this formula is not effective. Kindly note that each line will start with a serial number and the data associated with it.

Example of a line with multiple serial numbers:

Serial Number :PSQS Dummy S/N;Host Name:Pillar Bricks Integration;Instance Id :60091571;Serial Number :PX60909015;Address Line 1:KARL SCHWEIGHOFERGASSE 3;Address Line 2:;City:WIEN;Country:Austria;Postal Code:1010;State:;Instance Id :43286296; Host Name:zone03;Serial Number :HN35018754;Address Line 1:Air Surveillance Product Line (COESD5);Address Line 2:Wörthstr. 85;City:Ulm;Country:Germany;Postal Code:89077;State:;Instance Id :47110132; Serial Number :0724MM2093;Address Line 1:Hansaweg 90;Address Line 2:;City:Greven;Country:Germany;Postal Code:48268;State:;Instance Id :47820018; Serial Number :BEL075141G;Address Line 1:AQUARIUS BUILDING,;Address Line 2:ADASTRAL PARK,MARTLESHAM HEATH;City:IPSWICH;Country:United Kingdom;Postal Code:IP5 3RE;State:;Instance Id :48294133; Serial Number :TE34840069;Address Line 1:Air Surveillance Product Line (COESD5);Address Line 2:Wörthstr. 85;City:Ulm;Country:Germany;Postal Code:89077;State:;Instance Id :47961681; Serial Number :BCF093104K;Address Line 1:Kruppstr. 121-124;Address Line 2:;City:Frankfurt;Country:Germany;Postal Code:60388;State:;Instance Id :47152980;

I have given an example on how the data should separate once it is copied in ‘copied’ worksheet of ‘PAC Standard v1.1 multiple lines.xlsm’. Please review and kindly do the needful. Your help is highly appreciated.

Thank you,
Prashanth
PAC-Standard-v1.1-one-line-only.xlsm
PAC-Standard-v1.1-multiple-lines.xlsm
0
Comment
Question by:pg1533
2 Comments
 
LVL 24

Accepted Solution

by:
Steve earned 500 total points
ID: 38776355
The attached file will extract the  data in cells that are A1 sequencially down A2 A3 etc.

The code is below...
Note that only data with a valid matching header will output, other data will be ignored.

Sub Extract_from_copied()

Dim arr, arr2
Dim nextdatarow As Long
Dim x As Long, y As Long, i As Long
i = 1
Do While Len(Sheets("Copied").Range("A" & i).Value) <> 0
arr = Sheets("Copied").Range("A" & i).Value

arr = Replace(arr, "Serial Number :", "|")
arr = Split(arr, "|")

For x = 1 To UBound(arr)
    arr2 = Split(arr(x), ";")
    
    nextdatarow = Sheets("Sorted").Range("B" & Sheets("Sorted").Rows.Count).End(xlUp).Row + 1
    
    Sheets("Sorted").Cells(nextdatarow, "B").Value = arr2(0)
    For y = 1 To UBound(arr2)
    If Len(Trim(arr2(y))) <> 0 Then
        ValMatch = Trim(Left(arr2(y), InStr(1, arr2(y), ":") - 1))
        ValReturn = Trim(Right(arr2(y), Len(arr2(y)) - (InStr(1, arr2(y), ":"))))
        On Error Resume Next
        Sheets("Sorted").Cells(nextdatarow, WorksheetFunction.Match(ValMatch, Sheets("Sorted").Range("A1:J1"), 0)).Value = ValReturn
        On Error GoTo 0
    End If
    Next y

Next x
i = i + 1
Loop
End Sub

Open in new window

PAC-Standard-v1.1-multiple-lines.xlsm
0
 

Author Comment

by:pg1533
ID: 38776466
Hi Barman,

Really appreciate your assistance on this. It is working as requested. Thank you so much for your time and support on this.

Have a great day!!!

Regards,
Prashanth
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

This collection of functions covers all the normal rounding methods of just about any numeric value.
Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now