+ Reply to Thread
Results 1 to 11 of 11

Split one row of data to columns and rows

Hybrid View

  1. #1
    Registered User
    Join Date
    10-12-2011
    Location
    Bahrain
    MS-Off Ver
    Excel 2007
    Posts
    5

    Re: Split one row of data to columns and rows

    Quote Originally Posted by Steffen Thomsen View Post
    This splits your numbers and places then the correct places.
    Dont know bout keeping the formatting.

    Sub test()
    
    Dim loopcounter As Integer
    Dim curStr As String
    counter1 = 1
    counter2 = 50
    
    curStr = Sheets(1).Range("A1").Text
    
    loopcounter = Len(curStr) / 50
    
    For w = 1 To loopcounter
            dVal = Mid(curStr, counter1, counter2)
            counter1 = counter1 + 50
            
                uRows = Sheets(2).UsedRange.Rows.count + 1
                
                Sheets(2).Range("A" & uRows).Value = Left(dVal, 4)
                Sheets(2).Range("B" & uRows).Value = Right(Left(dVal, 10), 6)
                Sheets(2).Range("C" & uRows).Value = Right(Left(dVal, 23), 10)
                Sheets(2).Range("D" & uRows).Value = Right(Left(dVal, 34), 23)
                Sheets(2).Range("E" & uRows).Value = Right(Left(dVal, 50), 34)
            
            dVal = vbNullString
    Next w
    End Sub
    Steffen Thomsen
    thanx a lot Steffen, its works, but not correctly split to the table.

  2. #2
    Valued Forum Contributor Steffen Thomsen's Avatar
    Join Date
    10-15-2010
    Location
    Kolding, Denmark
    MS-Off Ver
    Excel 2007 and Excel 2010
    Posts
    953

    Re: Split one row of data to columns and rows

    yes it's split correctly but as i said the formattings gone.

    Those splits that arent long enough needs an amount of 0 in front of it.

    Steffen Thomsen

  3. #3
    Valued Forum Contributor Steffen Thomsen's Avatar
    Join Date
    10-15-2010
    Location
    Kolding, Denmark
    MS-Off Ver
    Excel 2007 and Excel 2010
    Posts
    953

    Re: Split one row of data to columns and rows

    This should work!

    Sub test()
    
    Dim loopcounter As Integer
    Dim curStr As String
    counter1 = 1
    counter2 = 50
    
    
    curStr = Sheets(1).Range("A1").Text
    
    loopcounter = Len(curStr) / 50
    
    For w = 1 To loopcounter
            dVal = Mid(curStr, counter1, counter2)
            
            counter1 = counter1 + 50
            
                uRows = Sheets(2).UsedRange.Rows.count + 1
                
                Sheets(2).Range("A" & uRows, "E" & uRows).NumberFormat = "@"
                Sheets(2).Range("A" & uRows).Value = Left(dVal, 4)
                Sheets(2).Range("B" & uRows).Value = Right(Left(dVal, 10), 6)
                Sheets(2).Range("C" & uRows).Value = Right(Left(dVal, 23), 10)
                Sheets(2).Range("D" & uRows).Value = Right(Left(dVal, 34), 23)
                Sheets(2).Range("E" & uRows).Value = Right(Left(dVal, 50), 34)
            
            dVal = vbNullString
    Next w
    End Sub
    Steffen Thomsen

    * Edit

    Let me know if it's working for you

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1