Solved

Creating a script and need to generate from 4 columns in Excel

Posted on 2011-03-07
14
191 Views
Last Modified: 2012-05-11
I have 4 columns of data and would like to convert them on the next sheet to row 1,2,3,4..

line1   |  line 2|  line3  | line4  

would like to make it....

line1
line2
line3
line4
0
Comment
Question by:BlakeISS
  • 7
  • 6
14 Comments
 
LVL 10

Expert Comment

by:Makrini
ID: 35063461
Sub Macro1()

    Sheets("Sheet1").Range("A1:D1").Copy
    Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Application.CutCopyMode = False
End Sub

Open in new window

0
 

Author Comment

by:BlakeISS
ID: 35064060
When I run this macro, it does only the first record. How do I make it run for all the records?
1:
2:
3:
4:
5:
6:
7:
 Sub Macro1()

    Sheets("Sheet1").Range("A1:D1").Copy
    Sheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Application.CutCopyMode = False
End Sub

Open in new window

0
 
LVL 10

Expert Comment

by:Makrini
ID: 35064073
Where is your data, and where you you want it?

is it

row 1 - 1,2,3,4
row 2 - 5,6,7,8

and going to
1,5
2,6
3,7
4,8

or
1
2
3
4
5
6
7
8
0
 
LVL 10

Expert Comment

by:Makrini
ID: 35064113
Sub Macro1()  
 Lastrow = Sheets("Sheet1").range("A" & rows.count).end(xlup).row
for i = 0 to lastrow - 1
    Sheets("Sheet1").Range("A1:D1").offset(i,0).Copy  
    Sheets("Sheet2").Range("A1").offset(0,i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _  
        False, Transpose:=True  
    Application.CutCopyMode = False
next i
End Sub

Open in new window

0
 

Author Comment

by:BlakeISS
ID: 35064115
in sheet1
columns are  colunm1: are link special mailboxes desktop t2test14 mailbox column2 put properties "mailboxes:mailbox" 1016 6 0 1321 6 0      column3rename "mailboxes:mailbox" "t2test14s mailbox"       column4 ###


I would like to output to sheet2 to be
row1
row2
row3
row4

link special mailboxes desktop t2test14 mailbox
put properties "mailboxes:mailbox" 1016 6 0 1321 6 0
rename "mailboxes:mailbox" "t2test14s mailbox"
###
0
 

Author Comment

by:BlakeISS
ID: 35064116
I have 1400 records to do this with...
0
 
LVL 10

Expert Comment

by:Makrini
ID: 35064127
Maybe if you provide an example workbook showing from data on one sheet and to data on second sheet
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:BlakeISS
ID: 35064158
Here is a sample
Book1.xls
0
 
LVL 10

Expert Comment

by:Makrini
ID: 35064234
In sheet 2 do you want the next row of data into column B?
0
 
LVL 10

Assisted Solution

by:Makrini
Makrini earned 100 total points
ID: 35064261
If so...

Sub Macro1()
 lastrow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
For i = 0 To lastrow - 1
    Sheets("Sheet1").Range("A1:D1").Offset(i, 0).Copy
    Sheets("Sheet2").Range("A1").Offset(0, i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Application.CutCopyMode = False
Next i
End Sub

Open in new window

0
 

Author Comment

by:BlakeISS
ID: 35068551
Ok this macro created them horizontally and did not put them into a list.
It did however, try to do the entire list.

1:
2:
3:
4:
5:
6:
7:
8:
9:
 Sub Macro1()
 lastrow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
For i = 0 To lastrow - 1
    Sheets("Sheet1").Range("A1:D1").Offset(i, 0).Copy
    Sheets("Sheet2").Range("A1").Offset(0, i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Application.CutCopyMode = False
Next i
End Sub

Open in new window

0
 

Author Comment

by:BlakeISS
ID: 35068644
0
 

Author Comment

by:BlakeISS
ID: 35068654
0
 
LVL 1

Accepted Solution

by:
benyami earned 400 total points
ID: 35071069
It looks like your end result will be a text based script file. If each column always starts with the same phrase, you could do the following:

Copy and paste the data into your favorite text editor.
Search and replace every time "put" or "link" appears with a newline character preceding "put" or "link"

Example:
FIND:
   put properties
REPLACE:
                             <---{insert newline character or copy and paste a line return}
   put properties

For each row in your spreadsheet, this will turn:
link special mailboxes desktop t2test14 mailbox      put properties "mailboxes:mailbox" 1016 6 0 1321 6 0      rename "mailboxes:mailbox" "t2test14s mailbox"      ###

into:
link special mailboxes desktop t2test14 mailbox      
put properties "mailboxes:mailbox" 1016 6 0 1321 6 0      
rename "mailboxes:mailbox" "t2test14s mailbox"      
###
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

In case Office 2010 has not been deployed in your environment, this article may be quite useful. In our office, we wanted a way to deploy Microsoft Office Professional Plus 2010 through an automated batch file via logon script. This article is docum…
My experience with Windows 10 over a one year period and suggestions for smooth operation
The view will learn how to download and install SIMTOOLS and FORMLIST into Excel, how to use SIMTOOLS to generate a Monte Carlo simulation of 30 sales calls, and how to calculate the conditional probability based on the results of the Monte Carlo …
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

895 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

15 Experts available now in Live!

Get 1:1 Help Now