Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Can someone help me edit this macro? It currently reads an array and
converts it to a column, for example. 1 2 3 4 5 6 Becomes 1 4 2 5 3 6 However, I need it to become 1 2 3 4 5 6 Can anyone help me edit it to do so, I've been struggling with this for too long. Thank you! Sub Matrix2Column() Dim v As Variant Dim nCol As Long Dim nRow As Long Dim rOut As Range Dim iCol As Long On Error Resume Next v = Application.InputBox("Select range to copy", Type:=8).Value If IsEmpty(v) Then Exit Sub nRow = UBound(v, 1) nCol = UBound(v, 2) Set rOut = Application.InputBox("Select destination", Type:=8).Resize(nRow, 1) If rOut Is Nothing Then Exit Sub For iCol = 1 To nCol rOut.Value = WorksheetFunction.Index(v, 0, iCol) Set rOut = rOut.Offset(nRow) Next iCol End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Insert in the appropriate place:
v = WorksheetFunction.Transpose(v) -- Steve "valkyrie" wrote in message ... Can someone help me edit this macro? It currently reads an array and converts it to a column, for example. 1 2 3 4 5 6 Becomes 1 4 2 5 3 6 However, I need it to become 1 2 3 4 5 6 Can anyone help me edit it to do so, I've been struggling with this for too long. Thank you! Sub Matrix2Column() Dim v As Variant Dim nCol As Long Dim nRow As Long Dim rOut As Range Dim iCol As Long On Error Resume Next v = Application.InputBox("Select range to copy", Type:=8).Value If IsEmpty(v) Then Exit Sub nRow = UBound(v, 1) nCol = UBound(v, 2) Set rOut = Application.InputBox("Select destination", Type:=8).Resize(nRow, 1) If rOut Is Nothing Then Exit Sub For iCol = 1 To nCol rOut.Value = WorksheetFunction.Index(v, 0, iCol) Set rOut = rOut.Offset(nRow) Next iCol End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Combined, of course with:
Select Case MsgBox("Do you wish to transpose by rows first?", vbYesNo ... -- Steve "AltaEgo" <Somewhere@NotHere wrote in message ... Insert in the appropriate place: v = WorksheetFunction.Transpose(v) -- Steve "valkyrie" wrote in message ... Can someone help me edit this macro? It currently reads an array and converts it to a column, for example. 1 2 3 4 5 6 Becomes 1 4 2 5 3 6 However, I need it to become 1 2 3 4 5 6 Can anyone help me edit it to do so, I've been struggling with this for too long. Thank you! Sub Matrix2Column() Dim v As Variant Dim nCol As Long Dim nRow As Long Dim rOut As Range Dim iCol As Long On Error Resume Next v = Application.InputBox("Select range to copy", Type:=8).Value If IsEmpty(v) Then Exit Sub nRow = UBound(v, 1) nCol = UBound(v, 2) Set rOut = Application.InputBox("Select destination", Type:=8).Resize(nRow, 1) If rOut Is Nothing Then Exit Sub For iCol = 1 To nCol rOut.Value = WorksheetFunction.Index(v, 0, iCol) Set rOut = rOut.Offset(nRow) Next iCol End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() "valkyrie" wrote: Can someone help me edit this macro? It currently reads an array and converts it to a column, for example. 1 2 3 4 5 6 Becomes 1 4 2 5 3 6 However, I need it to become 1 2 3 4 5 6 Can anyone help me edit it to do so, I've been struggling with this for too long. Thank you! Sub Matrix2Column() Dim v As Variant Dim nCol As Long Dim nRow As Long Dim rOut As Range Dim iCol As Long On Error Resume Next v = Application.InputBox("Select range to copy", Type:=8).Value If IsEmpty(v) Then Exit Sub nRow = UBound(v, 1) nCol = UBound(v, 2) Set rOut = Application.InputBox("Select destination", Type:=8).Resize(nRow, 1) If rOut Is Nothing Then Exit Sub For iCol = 1 To nCol rOut.Value = WorksheetFunction.Index(v, 0, iCol) Set rOut = rOut.Offset(nRow) Next iCol End Sub Sub Matrix2Column() Dim v As Range Dim rOut As Range Dim i As Long On Error Resume Next Set v = Application.InputBox("Select range to copy", Type:=8) If TypeName(v) = "Nothing" Then Exit Sub Set rOut = Application.InputBox("Select destination", Type:=8) If TypeName(rOut) = "Nothing" Then Exit Sub For i = 1 To v.Count rOut.Offset(i) = v.Item(i) Next i End Sub regards r Il mio ultimo lavoro ... http://excelvba.altervista.org/blog/...ternative.html |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Macro to copy and paste values (columns)I have a macro file built | Excel Programming | |||
AutoRun Macro with a delay to give user the choice to cancel the macro | Excel Programming | |||
how to count/sum by function/macro to get the number of record to do copy/paste in macro | Excel Programming | |||
macro to delete entire rows when column A is blank ...a quick macro | Excel Programming | |||
Start Macro / Stop Macro / Restart Macro | Excel Programming |