Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You didn't mention that you wanted to move the source as well.
Here is another cut Private Sub CommandDown_Click() Dim vTemp, vtemp1 With ListBox1 If .ListIndex < .ListCount - 1 Then Rows(.ListIndex + 1).Cut Range("A" & .ListIndex + 3).Insert Shift:=xlDown vTemp = .ListIndex LoadListbox .ListIndex = vTemp + 1 End If End With End Sub Private Sub CommandOK_Click() Unload Me End Sub Private Sub CommandUp_Click() Dim vTemp With ListBox1 If .ListIndex 0 Then Rows(.ListIndex + 1).Cut Range("A" & .ListIndex).Insert Shift:=xlDown vTemp = .ListIndex LoadListbox .ListIndex = vTemp - 1 End If End With End Sub Private Sub UserForm_Initialize() LoadListbox ListBox1.ListIndex = 0 End Sub Sub LoadListbox() Dim ColCnt As Integer Dim Rng As Range Dim cw, c, i ' Fill the List Box ColCnt = ActiveSheet.Columns.Count Set Rng = ActiveSheet.Range("A1:P34") With ListBox1 .ColumnCount = ColCnt .List = Rng.Value cw = "" For c = 1 To .ColumnCount cw = cw & Rng.Columns(c).Width & ";" Next c .ColumnWidths = cw End With End Sub -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "asmenut" wrote in message ... I am still having trouble getting the re-order to work on the multicolumn listbox. I took the advice of Dick, Tom and Bob; Rewrote the code to incorporate the advice for getting the listbox to show without errors, but I can't seem to get it to write the new order into the spredsheet? Any ideas. Code Below Private Sub CommandDown_Click() Dim vTemp, vtemp1 With ListBox1 If .ListIndex < .ListCount - 1 Then vTemp = .Value vtemp1 = .List(.ListIndex, 2) .List(.ListIndex) = .List(.ListIndex + 1) .List(.ListIndex + 1) = vTemp .List(.ListIndex + 1, 2) = vtemp1 .ListIndex = .ListIndex + 1 End If End With End Sub Private Sub CommandOK_Click() Unload Me End Sub Private Sub CommandUp_Click() Dim vTemp, vtemp1 With ListBox1 If .ListIndex 0 Then vTemp = .Value vtemp1 = .List(.ListIndex, 2) .List(.ListIndex) = .List(.ListIndex - 1) .List(.ListIndex, 2) = .List(.ListIndex - 1, 2) .List(.ListIndex - 1) = vTemp .List(.ListIndex - 1, 2) = vtemp1 .ListIndex = .ListIndex - 1 End If End With End Sub Private Sub UserForm_Initialize() Dim ColCnt As Integer Dim Rng As Range ' Fill the List Box ColCnt = ActiveSheet.Columns.Count Set Rng = ActiveSheet.Range("A1:P34") With ListBox1 .ColumnCount = ColCnt .List = Rng.Value cw = "" For c = 1 To .ColumnCount cw = cw & Rng.Columns(c).Width & ";" Next c .ColumnWidths = cw .ListIndex = 0 End With End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|