Hi everyone.
Im using the code below to change a row in a listbox. As i'm using cellformatting i'm using the Application.Transpose(var) what is working fine in excel 2010 and showing when putting in 3% changing to 3.0% automaticly. When i'm only using = var it put it in as a text and not as a value.
But when i test the code below in excel 2007 it takes the first value from the row and copy's it in the other 6 columns in the rows.. when can be wrong?
Code:
Option Explicit
Private Sub MenuButton_Click()
Unload Me
Menu.Show
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim x As Long
Dim k As Long
Dim j As Long
Dim rng As Range
Set rng = Sheets("INPUT WV LISTBOX").Range("A8:H282") '<--If you change the Range
Rx1 = 8 '<----------------------------------------------------------------------You Must Change this
With ListBox1
.Clear
For k = 1 To rng.Rows.Count 'rows
.AddItem
For j = 1 To rng.Columns.Count
.List(k - 1, j - 1) = rng.Cells(k, j).Text 'columns
Next j, k
End With
For j = 1 To 8
Me.Controls("TextBox" & j).Text = ""
Next j
End Sub
Private Sub CommandButton2_Click()
Dim var(3 To 8) As String
Dim j As Long
Dim x As Long
If Me.ListBox1.ListIndex = -1 Then
MsgBox "No Data Selected"
Exit Sub
End If
If Me.TextBox1.Value = "" Then Exit Sub
Rx1 = Rx1 + Me.ListBox1.ListIndex
With Sheets("INPUT WV LISTBOX")
For j = 3 To 8
var(j) = Me.Controls("TextBox" & j).Text
Next j
.Cells(Rx1, 3).Resize(, 6).Value = Application.Transpose(var)
End With
Call UserForm_Initialize
End Sub
Private Sub ListBox1_Click()
Dim k As Long
Dim j As Long
Dim Ctrl As Control
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "TextBox" Then
k = Me.ListBox1.ListIndex
For j = 1 To 8
Me.Controls("TextBox" & j).Text = Me.ListBox1.List(k, j - 1)
Next j
End If
Next Ctrl
If Me.TextBox1.Value = "" Then
MsgBox "Can't Select this Row"
Exit Sub
End If
End Sub
Bookmarks