Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Still can't get it right

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
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 11:27 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"