Advertisement

05.08.2008 at 01:32PM PDT, ID: 23387583
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

Problems with Spreadsheet format
Tags: Microsoft, Excel, 2003
I have a customer who has a membership database that was poorly put together.  Instead of columns to organize the directory, they have the data on a field going down the rows and then skips 2-3 rows before next member data.  For example the fields are as follows:
A5 = Bob Thompson
A6 = CEO
A7 = Acme Supply Company
A8 = 10 River Road
A9 = Miami, FL 11111
A10 = 555-231-1422
A11 = bthompson@acme.com

Next record might be at A13-A17.  Then there is a second column, starting C5-C11.  This goes straight down to row# 2000 or so.

My question for help here is, is there a way to automatically pull this info into a new sheet structured with each member data in one row going across columns?

I have a feeling I will be doing some manual data entry but thought I would ask here.

Thanks in advance
Start your free trial to view this solution
Question Stats
Zone: Programming
Question Asked By: WPC479
Solution Provided By: matthewspatrick
Participating Experts: 2
Solution Grade: A
Views: 5
Translate:
Loading Advertisement...
05.08.2008 at 01:39PM PDT, ID: 21528258

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.08.2008 at 01:56PM PDT, ID: 21528406

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.08.2008 at 02:10PM PDT, ID: 21528502

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.09.2008 at 07:03AM PDT, ID: 21532880

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.09.2008 at 08:02AM PDT, ID: 21533541

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.09.2008 at 08:06AM PDT, ID: 21533601

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.09.2008 at 08:56AM PDT, ID: 21534153

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.09.2008 at 09:00AM PDT, ID: 21534197

Rank: Genius

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
05.08.2008 at 01:39PM PDT, ID: 21528258
Are the records always the same size (7 rows)?

And what's in the second column?
 
05.08.2008 at 01:56PM PDT, ID: 21528406
Not all are the same, some might be 7 and some are 4 or 5

The second column is more member data, but I can take that entire column and move to the bottom of the first column of data.

 
05.08.2008 at 02:10PM PDT, ID: 21528502
Hmm.. that complicates things.. I was about to post a procedure to follow to get the data transposed but if the record sizes vary then you can't really do that unless the blank lines make up the difference (ie, a record with 7 rows has 1 blank line after it, but one with 5 rows has 3 blank lines after it)...?

 
05.09.2008 at 07:03AM PDT, ID: 21532880

Rank: Genius

Hello WPC479,

With the following assumptions:

1) Data may be in one or more columns, but always starts in Row 5
2) For a populated column, there is always data in Row 5
3) Any number of columns may be populated
4) There is at least one (but possibly more) blank row between blocks
5) A block may have 1+ rows, and all such rows are contiguous

..the code below seems to be working for me.

Regards,

Patrick
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
Sub Repackage() 
    Dim Source As Worksheet
    Dim Dest As Worksheet
    Dim LastCol As Long
    Dim ColCount As Long
    
    Set Source = Worksheets("Sheet1") 'change if needed
    Set Dest = Worksheets.Add
    Dest.[a1:g1] = Array("Col1", "Col2", "Col3", "Col4", "Col5", "Col6", "Col7")
    LastCol = Source.Cells(5, Source.Columns.Count).End(xlToLeft).Column
    
    For ColCount = 1 To LastCol
        If Source.Cells(5, ColCount) <> "" Then ProcessColumn Source, Dest, ColCount
    Next 
End Sub 
Private Sub ProcessColumn(ByRef Source As Worksheet, ByRef Dest As Worksheet, ByVal ColNum As Long) 
    Dim arr() As String
    Dim SourceR As Long
    Dim DestR As Long
    Dim LastR As Long
    Dim Cols As Long
    Dim FirstOne As Boolean
    
    DestR = Dest.Cells(Dest.Rows.Count, 1).End(xlUp).Row
    LastR = Source.Cells(Dest.Rows.Count, 1).End(xlUp).Row
    FirstOne = True
    
    For SourceR = 5 To LastR
        If Cols = 0 And Source.Cells(SourceR, ColNum) <> "" Then
            If Not FirstOne Then
                DestR = DestR + 1
                Dest.Cells(DestR, 1).Resize(1, UBound(arr)).Value = arr
            Else
                FirstOne = False
            End If
            Cols = 1
            ReDim arr(1 To Cols) As String
            arr(1) = Source.Cells(SourceR, ColNum)
        ElseIf Source.Cells(SourceR, ColNum) <> "" Then
            Cols = Cols + 1
            ReDim Preserve arr(1 To Cols) As String
            arr(UBound(arr)) = Source.Cells(SourceR, ColNum)
        Else
            Cols = 0
        End If
    Next
    
    DestR = DestR + 1
    Dest.Cells(DestR, 1).Resize(1, UBound(arr)).Value = arr
    
End Sub
Open in New Window
Accepted Solution
 
05.09.2008 at 08:02AM PDT, ID: 21533541
Thanks Matthew. I will try this, but first, here is a dumb question.  Where do I run this code?
 
05.09.2008 at 08:06AM PDT, ID: 21533601

Rank: Genius

1) Open the workbook with the data

2) Hit Alt+F11 to get to the VB Editor

3) Insert a new module (not a class module!)

4) Paste the code in the module, and edit the worksheet name in this line as needed:

    Set Source = Worksheets("Sheet1") 'change if needed

5) Go back to Excel, hit Alt+F8 to get the run macro dialog, and run the macro Repackage

Note that you will have to set your macro security to Medium (recommended) or Low (from the
menu in Excel 2003 and earlier: Tools|Macro|Security)
 
05.09.2008 at 08:56AM PDT, ID: 21534153
Matthew, that is awesome.  it worked, but I did find a few entries that have more than 7 rows, some up to 10 rows of data.  I started to adjust the code and changed the one line below
Dest.[a1:k1] = Array("Col1", "Col2", "Col3", "Col4", "Col5", "Col6", "Col7", "Col8", "Col9", "Col10", "Col11")

But I got an error, but you know that's ok.  There are under 10 entries like this and I can move the data manually.

I have got to work on this stuff more.  Do you know any really good books to start with?

Thanks again
 
05.09.2008 at 09:00AM PDT, ID: 21534197

Rank: Genius

I and most people I know get started with macros by turning on the macro recorder, doing stuff,
and then seeing how the recorder rendered the code.  It can generate sloppy stuff (for example,
it is rarely necessary to actually select worksheets or ranges, but the recorder does it all the time),
but it's a great place to start.

The VBA help file is actually reasonably helpful.

As for books, I'd start with Walkenbach's Power Programming series; he updates it for every
version of Excel.
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628