|
|
|
Junior Member
      
участник
Last Login: 08.12.2006 10:48
Сообщ.: 10,
Visits: 15
|
|
| подскажите пожалуйста как сделать следующую вещь: есть форма, на ней listbox и две кнопки. кнопка1 загружает с текущего листа таблицу из 3 колонок в ListBox, а кнопка2 должна добавлять на другой лист то, что выбрано в ListBox. какой код необходим для кнопки2?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 21.03.2008 5:12
Сообщ.: 386,
Visits: 4 197
|
|
типа такого:
Private Sub CommandButton2_Click()
r = 1 ' начало по строкам
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) Then
Sheets("Лист2").Cells(r, 1) = Me.ListBox1.List(i)
r = r + 1
End If
Next
End Sub
|
|
|
|
|
Junior Member
      
участник
Last Login: 08.12.2006 10:48
Сообщ.: 10,
Visits: 15
|
|
| надо учесть что в ListBox несколько столбцов, а то добавляется только первый!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 21.03.2008 5:12
Сообщ.: 386,
Visits: 4 197
|
|
строку:
Sheets("Лист2").Cells(r, 1) = Me.ListBox1.List(i)
заменить на:
For j = 0 To Me.ListBox1.ColumnCount - 1
Sheets("Лист2").Cells(r, j + 1) = Me.ListBox1.List(i, j)
Next
|
|
|
|
|
Junior Member
      
участник
Last Login: 08.12.2006 10:48
Сообщ.: 10,
Visits: 15
|
|
получился такой код и он не работаетPrivate Sub CommandButton3_Click() Me.ListBox1.ColumnCount = 5 Me.ListBox1.ColumnWidths = "40;300;40;40" Me.ListBox1.RowSource = "a1:d145" End Sub Private Sub CommandButton1_Click() r = 1 ' начало по строкам For i = 0 To Me.ListBox1.ListCount - 1 If Me.ListBox1.Selected(i) Then For j = 0 To Me.ListBox1.ColumnCount - 1 Sheets("Лист2").Cells(r, j + 1) = Me.ListBox1.List(i, j) Next r = r + 1 End If Next End Sub
|
|
|
|
|
Supreme Being
      
участник
Last Login: 21.03.2008 5:12
Сообщ.: 386,
Visits: 4 197
|
|
Это как понимать?
Me.ListBox1.ColumnCount = 5
Me.ListBox1.RowSource = "a1:d145"
или колонок ставьте 4, или d замените на e...
|
|
|
|
|
Junior Member
      
участник
Last Login: 08.12.2006 10:48
Сообщ.: 10,
Visits: 15
|
|
| да.... такая маленькая оплошность и из-за неё как раз и не работало. исправил, спасибо!
|
|
|
|
|
Junior Member
      
участник
Last Login: 08.12.2006 10:48
Сообщ.: 10,
Visits: 15
|
|
для красоты и удобства добавил строчку автоподбора шириныЛист2.Columns("A:E").EntireColumn.AutoFitможет кому пригодится :) кстати, а можно в ListBox объединить в строке столбцы, но не во всех строках, а выборочно, т.е. если в загружаемом списке есть объеденённые столбцы, то и в ListBox их записывать такими же...так возможно?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 21.03.2008 5:12
| | | |