ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Convert CSV from clipboard into a transposed list (part solution provided) (https://www.excelbanter.com/excel-programming/362167-convert-csv-clipboard-into-transposed-list-part-solution-provided.html)

Andibevan

Convert CSV from clipboard into a transposed list (part solution provided)
 
I am trying to convert a list of comma seperated numbers into a list that is
pasted with each number in an individual cell.

E.g. 125,25,223,23,35,23

would be pasted to

125
25
223
23
35
23

I have managed to convert the CSV into a list of numbers but can only paste
the entire list into 1 cell. Can someone tell me how I would modify it so
that each number is in a single cell.

It will need a reference to the MS Forms library.

Here's what I have so far:-

Sub Test1()
Dim myVar As Variant
Dim MyDataObj As New DataObject

myVar = GetOffClipboard
ClearClipboard

myVar = Replace(myVar, ",", Chr(10), 1)
myVar = Replace(myVar, Chr(13), "", 1)
myVar = Replace(myVar, Chr(10) & Chr(10), Chr(10), 1)
myVar = Replace(myVar, " ", "", 1)
Debug.Print myVar

'Print_Chars (myVar)
MyDataObj.SetText myVar
ActiveCell.Value = myVar
End Sub


TIA Andi



Tim Williams

Convert CSV from clipboard into a transposed list (part solution provided)
 
'####################################
Sub tester()

Dim arrvar
Dim myVar As String

myVar = "1,2,3,4,5,6,7,8"

arrvar = Split(myVar, ",")

ActiveCell.Resize(UBound(arrvar) + 1, 1).Value = _
Application.Transpose(arrvar)

End Sub
'##################################
--
Tim Williams
Palo Alto, CA


"Andibevan" wrote in message ...
I am trying to convert a list of comma seperated numbers into a list that is
pasted with each number in an individual cell.

E.g. 125,25,223,23,35,23

would be pasted to

125
25
223
23
35
23

I have managed to convert the CSV into a list of numbers but can only paste
the entire list into 1 cell. Can someone tell me how I would modify it so
that each number is in a single cell.

It will need a reference to the MS Forms library.

Here's what I have so far:-

Sub Test1()
Dim myVar As Variant
Dim MyDataObj As New DataObject

myVar = GetOffClipboard
ClearClipboard

myVar = Replace(myVar, ",", Chr(10), 1)
myVar = Replace(myVar, Chr(13), "", 1)
myVar = Replace(myVar, Chr(10) & Chr(10), Chr(10), 1)
myVar = Replace(myVar, " ", "", 1)
Debug.Print myVar

'Print_Chars (myVar)
MyDataObj.SetText myVar
ActiveCell.Value = myVar
End Sub


TIA Andi





Andibevan

Convert CSV from clipboard into a transposed list (part solution provided)
 
Thanks Tim - that worked great

"Tim Williams" <timjwilliams at gmail dot com wrote in message
...
'####################################
Sub tester()

Dim arrvar
Dim myVar As String

myVar = "1,2,3,4,5,6,7,8"

arrvar = Split(myVar, ",")

ActiveCell.Resize(UBound(arrvar) + 1, 1).Value = _
Application.Transpose(arrvar)

End Sub
'##################################
--
Tim Williams
Palo Alto, CA


"Andibevan" wrote in message

...
I am trying to convert a list of comma seperated numbers into a list

that is
pasted with each number in an individual cell.

E.g. 125,25,223,23,35,23

would be pasted to

125
25
223
23
35
23

I have managed to convert the CSV into a list of numbers but can only

paste
the entire list into 1 cell. Can someone tell me how I would modify it

so
that each number is in a single cell.

It will need a reference to the MS Forms library.

Here's what I have so far:-

Sub Test1()
Dim myVar As Variant
Dim MyDataObj As New DataObject

myVar = GetOffClipboard
ClearClipboard

myVar = Replace(myVar, ",", Chr(10), 1)
myVar = Replace(myVar, Chr(13), "", 1)
myVar = Replace(myVar, Chr(10) & Chr(10), Chr(10), 1)
myVar = Replace(myVar, " ", "", 1)
Debug.Print myVar

'Print_Chars (myVar)
MyDataObj.SetText myVar
ActiveCell.Value = myVar
End Sub


TIA Andi








All times are GMT +1. The time now is 10:56 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com