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




  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Still can't get it right

Bit of a shame, I liked the first code more <vbg

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"asmenut" wrote in message
...
That's the ticket Bob. Many thanks. Now I can finish the automation

coding
properly. You Da Man.

"Bob Phillips" wrote:

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 10:01 PM.

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

About Us

"It's about Microsoft Excel"