ListBox executing incorrect transpose in the Worksheet.

Jom

New Member
Joined
Feb 19, 2021
Messages
36
Office Version
  1. 2016
Platform
  1. Windows
Could you help me? ListBox executing incorrect transpose in the Worksheet3
My Command Button sends ListBox data to Sheet 2 and Sheet 3.

The ListBox has 2 columns.
Column 1 = numbers
Column 2 = Colors (Ex. "green","blue","black")

Worksheet 2 receives the data from the 2 columns of the ListBox (Column A= numbers / Column B = colors).
Worksheet 3 needs to receive ONLY the data from column 1 of the ListBox, using transpose for the columns of row 2.

It needs to happen in the following way:
Worksheet2
223 Green
224 Green
225 Green
567 Blue
568 Blue

Worksheet3
Line 2: A2=223/B2=224/C2=225/D2=567/E2=568 ...etc (regardless of how many records have in the ListBox.)
(Here, runing incorrectly.)

Error: The next records replace the previous records. They are sent on over of the previous ones. It should be sent to the next empty columns.
Below is my code:


VBA Code:
Private Sub CommandButton2_Click()

'Worksheet2 ---------------(occurs correctly)
Worksheet2.Select
Worksheet2.Range("A3").Select

For i = 0 To UserForm1.ListBox1.ListCount - 1
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If

Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Value = ListBox1.List(i, 0)
ActiveCell.Offset(0, 1).Value = ListBox1.List(i, 1)

Next

'(Worksheet3) ---------(occurs incorrectly)

Dim Lin As Long
Dim Col As Long

Lin = 2
'Worksheet2.Range("A3").Select

For Col = 0 To ThisWorkbook.Sheets("Worksheet3").Cells(Lin, Columns.Count).End(xlToRight).Value
For n = 0 To ListBox1.ListCount - 1

    Col = Col + 1
    ThisWorkbook.Sheets("Worksheet3").Cells(Lin, Col).Value = Application.Transpose(ListBox1.List(n))

Next
Next
End Sub


I don't know where the error is. Help me please.
 
Last edited by a moderator:
Sorry about my English..
Nothing to apologise for, it's far better than my Brazilian. ;)
For your information, if you leave out the .Column or use .Value rather than picking up the column number it picks up the value of the cell, so if you have 104 in the last used cell it will put the new values in col 104 +1 (ie DA) and if the value in the last cell is greater then or equal to 16384 you will get an error as that is the last column on the sheet.
 
Upvote 0

Excel Facts

Using Function Arguments with nested formulas
If writing INDEX in Func. Arguments, type MATCH(. Use the mouse to click inside MATCH in the formula bar. Dialog switches to MATCH.
Interesting!
"Living and Learning!" (Expression in Brazil). Thank you for that additional detail.
I have other problems to solve in Excel, I'll post on the forum. Maybe I can find a willing and patient person like you. Greetings !
 
Upvote 0
Glad to help & thanks for the feedback.
 
Upvote 0

Forum statistics

Threads
1,215,523
Messages
6,125,317
Members
449,218
Latest member
Excel Master

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top