|
|
|
2 вопроса
|
|||
|---|---|---|---|
|
#18+
Добрый день. Мне нужно создать listBox из названий листов рабочей книги. При использовании следующего кода: Private Sub CommandButton2_Click() k = 1 i = ActiveWorkbook.Worksheets.Count k_name = "" With UserForm2.ListBox1 Do While k <= i k_name = Sheets(k).Name If k_name <> "Управление запросами" Then UserForm2.ListBox1.AddItem k_name End If k = k + 1 Loop End With UserForm2.Show End Sub у меня всегда в нвчале списка появляется пустая строка. Как от нее избавиться? И второй вопрос. Есть таблица. Мне нужно найти в ней строку, в которой выполняются три условия одновременно. (требуемые дата, номер и количество). Существует ли какой-нибудь грамотный способ, кроме последовательного просмотра всех строк и сравнивания условий. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 17:43 |
|
||
|
2 вопроса
|
|||
|---|---|---|---|
|
#18+
Может вначале очистить список Clear? И при сравнении проверять значение Trim'ом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 20:11 |
|
||
|
2 вопроса
|
|||
|---|---|---|---|
|
#18+
1. Зачем у вас вот это? With UserForm2.ListBox1 ... End With 2. Вы передаете количество Worksheets в переменную i, а переменной k_name присваиваете имена Sheets, а совсем не Worksheets. 3. Вы квалифицируете i = ActiveWorkbook.Worksheets.Count, а в тоже время не квалифицируете Sheets(k).Name. т.е., в одном случае вам важно, что ActiveWorkbook, а в другом уже почему-то нет. 4. Вы не декларируете ваши преременные. 5. У меня пустая строка не появляется при использовании вашего кода, значит проблема не в нем, хоть он и неказист. 6. Вы вводите слишком много переменных, когда можно обойтись только одной, причем цикл много чего лишнего делает. 7. Вот пример кода, который делает тоже самое, что и ваш: Private Sub CommandButton2_Click() Dim objWSht As Worksheet For Each objWSht In ActiveWorkbook.Worksheets If objWSht.Name <> "Upravlenie zaprosami" Then UserForm2.ListBox1.AddItem objWSht.Name End If Next objWSht UserForm2.Show End Sub 8. Вернее будет посадить заполнение лист бокса в код инициализации формы, а последнюю лишь показывать, а то ваша кнопочка CommandButton2 лезет во внутренние дела вашей формы, что нехорошо. Я подразумеваю, что CommandButton2 сидит не на форме UserForm2, а то зачем последнюю вы явно указывали бы. Успехов vladconn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 21:33 |
|
||
|
2 вопроса
|
|||
|---|---|---|---|
|
#18+
Касательно второго вопроса: да, существует, и не один. Например, использование SQL запросов и ADO. Примеров - море. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 21:38 |
|
||
|
2 вопроса
|
|||
|---|---|---|---|
|
#18+
Спасибо! Правда пока не разобрался с пустой строкой. Опять наткнулся на проблему: В Private Sub CommandButton2_Click() активного листа присваиваю переменной tname название некоего файла для обработки. Вызываю Userform1. И уже в Forms произвожу обработку информации. Как мне передать значение tname из акивного листа в Forms? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 15:31 |
|
||
|
2 вопроса
|
|||
|---|---|---|---|
|
#18+
Ну, например так: 1. В кнопке листа: Private Sub CommandButton1_Click() UserForm1.FileName = "C:\Temp\MyFile.txt" UserForm1.Show End Sub 2. В форме: Option Explicit Private mstrFileName As String Public Property Get FileName() As String FileName = mstrFileName End Property Public Property Let FileName(ByVal pstrNewValue As String) mstrFileName = pstrNewValue End Property Private Sub UserForm_Activate() Me.Caption = "File name " & Me.FileName End Sub Успехов vladconn ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 15:49 |
|
||
|
2 вопроса
|
|||
|---|---|---|---|
|
#18+
Вознила очередная проблема. Как и где задать значения 2-м переменным (изначально открыт "Лист управления" ), чтобы при нажатии любых кнопок на этом листе и вызова оттуда UserForm1, UserForm2 можно было использовать значения этих переменных. (можно, конечно, хранить эти переменные в ячейках Листа управления, но мне кажется это не правильным) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 17:12 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34388130&tid=2164345]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 452ms |

| 0 / 0 |
