Solved

Data Normalization

Posted on 2015-01-18
16
67 Views
Last Modified: 2015-01-26
In the attached sheet "PROBLEM" it has two tabs. "Data" & "Working"

The Data tab gets deleted and replaced almost daily. The working tab is the format to use to handle calculations. When the Data worksheet is imported I would need VBA code to loop through the data one row at a time and split the cell value from being X/X to two cells in the "Working" worksheet.
The primary key field is a unique value.

Cell Y4 on the data worksheet would need to be split into cells AH6 and AJ6 on the working worksheet. And so on through the cells, then the next row.

I have tried formulas but loose everything every time I delete and re-import a new Data worksheet.

Some help here would be appreciated.
PROBLEM.xlsx
0
Comment
Question by:DougDodge
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 10
  • 6
16 Comments
 
LVL 29

Expert Comment

by:gowflow
ID: 40557363
Question:

1) Will the daily data plugged in sheet Data will always start at: Row 4 and the columns from Y to extreme right ?
2) Are columns variable or fixed like always Y to AG or can change ?
3) Will the result in working always plugged in Row 6 and down and Col AH to extreme right ? and also variable columns or fix ?

gowlfow
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40557376
Also an other question

1) What about column C on sheet working how is it filled ? should the macro fill it as well ? if yes then presume it is from Col C in Data ?
2) What about the rest of columns in Working I see these are formulas ...

gowflow
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40557445
Again it seems you are busy but I got my way around.

Pls check the attached file as I assumed that the data in Data will always start at row 4 and data in Working will always start at row 6 and columns are fixed.

If it is anything different then will adapt to your request.

Here is the code

Sub GetData()
Dim WSD As Worksheet
Dim WSW As Worksheet
Dim MaxRowD As Long, MaxColD As Long, MaxRowW As Long, MaxColW As Long, I As Long, J As Long, K As Long
Dim MinRowD As Long, MinColD As Long, MinRowW As Long, MinColW As Long
Dim dTemp

'---> Set Variables
Set WSW = Sheets("Working")
MinRowW = 6
MaxRowW = WSW.Range("C" & WSW.Rows.Count).End(xlUp).Row
MaxColW = WSW.Cells(MinRowW - 1, WSW.Columns.Count).End(xlToLeft).Column
MinColW = WSW.Cells(MinRowW - 1, MaxColW).End(xlToLeft).Column


Set WSD = Sheets("Data")
MinRowD = 4
MaxRowD = WSD.Range("C" & WSD.Rows.Count).End(xlUp).Row
MaxColD = WSD.Cells(MinRowD - 1, WSD.Columns.Count).End(xlToLeft).Column
MinColD = WSD.Cells(MinRowD - 1, MaxColD).End(xlToLeft).Column


'---> Clear old data
WSW.Range("C" & MinRowW & ":C" & MaxRowW).ClearContents
WSW.Range("AH" & MinRowW & ":BH" & MaxRowW).ClearContents

For I = MinRowD To MaxRowD
    K = 0
    WSW.Cells(I + (MinRowW - MinRowD), "C") = WSD.Cells(I, "C")
    For J = MinColD To MaxColD
        dTemp = Split(WSD.Cells(I, J), "/")
        WSW.Cells(I + (MinRowW - MinRowD), J + K + (MinColW - MinColD)) = dTemp(0)
        WSW.Cells(I + (MinRowW - MinRowD), J + K + (MinColW - MinColD) + 2) = dTemp(1)
        K = K + 2
    Next J
Next I

MsgBox "Data Transfered successfully.", vbInformation

End Sub

Open in new window


Check the attached file as I deleted the data in working (kept the formulas) and run the button Get Data and see if all is ok.

gowflow
PROBLEM-V01.xlsm
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:DougDodge
ID: 40557719
Columns and rows are static.....

Attached is a little more detailed example.

The "Tracking" worksheet is the one that is deleted and replaced all the time..... "MC Tracker Data" is static in the control workbook.
PROBLEM.xlsx
0
 

Author Comment

by:DougDodge
ID: 40557722
More detail.....
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40557821
What is it a test to see if I pass classes in programming ???

Why didn't you post the correct workbook at the first place ???

gowflow
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40566321
Is this what you want ? I adapted the code in the last workbook that you posted.
Pls check and let me know if it is fine.

gowflow
0
 
LVL 29

Accepted Solution

by:
gowflow earned 500 total points
ID: 40570095
Ooops I just noticed I did not post the workbook !!!! what a fool I am :( :( soso sorry

here it is.

Pls chk and let me know.
gowflow
PROBLEM-V02.xlsm
0
 

Author Comment

by:DougDodge
ID: 40570182
Works perfectly.....
0
 

Author Comment

by:DougDodge
ID: 40570322
I've requested that this question be closed as follows:

Accepted answer: 0 points for DougDodge's comment #a40570182

for the following reason:

Exactly what I needed..... Thank you.
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40570323
I think you closed this question by mistake as you attributed yourself 0 points and acknowledged that The solution that I provided works perfectly.

I activated an objection to this closure so you could correct the closing.
gowflow
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40570712
Great !!! :)
gowlfow
0
 

Author Comment

by:DougDodge
ID: 40570899
I think I corrected this now..... Amazing, a site with programmers and this is one of the worst sites to navigate and work with....
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40571015
I do not understand your comment:


this is one of the worst sites to navigate and work with....
0
 

Author Comment

by:DougDodge
ID: 40571154
Hard to do searches.
Notifications button keeps disappearing. It is there when my mouse is over the place it should be, but it rarely shows.
And you I have had issues over closing questions without awarding points correctly.
0
 
LVL 29

Expert Comment

by:gowflow
ID: 40572130
ok no problem don't worry you can ask me I will be glad to help. Pls post here any link to any new question you may need help with. We had a rough start at the beginning but after I guess things went smooth.

Hv a good day
gowflow
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

With the internet and the ease of information transference, many professional jobs can be done anywhere today.  Why should it make a difference whether an x-ray is read in India or the United States as long as the radiologist is qualified?   Outso…
Today companies are subjected to more-and-more data, and it won't stop any time soon.  But there are obvious opportunities for reducing data, particularly data duplicated among companies.
The viewer will learn how to edit text. This includes Font, Spacing, Resizing, Color, and other special text options.
This video shows and describes the main difference between both orientations in Microsoft Word. Viewers will understand when to use each orientation and how to get the most out of them.

763 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