Страница 3 из 4

Re: Почему макрос не работает?

Добавлено: 03 июн 2008, 20:57
VictorM
ОК, с диапазонами ясно, согласен.
А вот так будет выглядет полная процедура заполнения листа "Отчет".

Код: Выделить всё

Private Sub ListBox1_Click()
  Dim NextRow As Long
NextRow = Application.WorksheetFunction.CountA(Range("A2:A500")) + 2
iIndex = ListBox1.ListIndex
obraz = ListBox1.Value
For Each obraz1 In Range("A2:A500")
If obraz = obraz1 Then
Call MsgBox("Такое значение уже введено!", vbExclamation, "Ошибка!")
GoTo err
End If
Next obraz1
With Worksheets("Отчет").Range("A:C")
    If iIndex = 0 Then
    .Cells(NextRow, 1).Value = ListBox1.List(iIndex, 0)
    .Range(Cells(NextRow, 1), Cells(NextRow, 3)).MergeCells = True
    .Cells(NextRow, 1).Font.Bold = True
    .Cells(NextRow, 1).Font.Size = 12
    Else
    .Cells(NextRow, 1).Value = ListBox1.List(iIndex, 0)
    .Cells(NextRow, 2).Value = ListBox1.List(iIndex, 1)
    .Cells(NextRow, 3).Value = ListBox1.List(iIndex, 2)
    End If
End With
err:
End Sub
что дальше?

Re: Почему макрос не работает?

Добавлено: 04 июн 2008, 09:18
seergy
Очень прекрасно работает спасибо.
"что дальше?"
2) На лист "Отчёт" по средствам формы из диапазона А:С удалить не нужные значения в дипозоне A:B:C на форме, не получается что-то модифицировать, удаляет криво
3) создать динамическую форму, котрые вы предложили выше для пополнения динамических диапозонов на листе групповые:
Игровая
Спальня
Спальня: туалетная
Спальня: приемная - раздевальная
Спальня: буфетная
Думал создать форму пополнения/ удаления базы см. файл
http://slil.ru/25861939

Re: Почему макрос не работает?

Добавлено: 04 июн 2008, 09:39
VictorM
так, файл забрал.
чуть позже разберемся
куда оно денется :)

Re: Почему макрос не работает?

Добавлено: 04 июн 2008, 10:01
VictorM
seergy, опять же, обратите внимание.
для такого количества данных (полное отсутствие, практически) размер файла просто несуразный. Не замечали?
Лишние заливки, границы ячеек (разлиновки) до строки 65536!!!
Все это бессмысленноувеличивает размер файла.

Re: Почему макрос не работает?

Добавлено: 04 июн 2008, 12:58
seergy
Это формальность - всё делалось на скорую руку.
Кстати формулы "смещения" я полагаю решают проблему до строки 65536 . Т.е. определяются только заполненые диапозны. Если хотите упростить я не против... только лишь бы работало. Буду рад любому вашему альтернативному варианту...

Re: Почему макрос не работает?

Добавлено: 04 июн 2008, 13:10
VictorM
Кстати формулы "смещения" я полагаю решают проблему до строки 65536
вообще-то я не об этом, ну да ладно. Сейчас у меня размер Вашего файла - 254 кб.
И все на месте.
Остальное - чуть позже.

Re: Почему макрос не работает?

Добавлено: 04 июн 2008, 14:01
VictorM
seergy, вопрос.
"Удалять" - это из листа Отчет или Групповые?
А то сначала было одно, ща вроде другое?
***
разобрался

Re: Почему макрос не работает?

Добавлено: 05 июн 2008, 06:36
seergy
"Удалять" - это из листов Отчет и Групповые - в принципе для обоих действий подойдёт однотипный код макрос.

Re: Почему макрос не работает?

Добавлено: 05 июн 2008, 09:37
VictorM
seergy,
в принципе для обоих действий подойдёт однотипный код макрос
да нет, батенька, не все так просто :)
p.s.
Посмотрите файл, где-то так я себе все это представляю.

Re: Почему макрос не работает?

Добавлено: 05 июн 2008, 14:32
VictorM
В выложенном файле не задействована кнопка "Очистить", забыл.
Да это мелочи. И еще - можно посмотреть какие листы открывать/закрывать, скрывать/показывать.
В общем - смотрите.
***
поместите в модуль формы РабБаза

Код: Выделить всё

Private Sub cbОчистить_Click()
    tbНаименование.Value = ""
    tbМаркаТип.Value = ""
    tbЦена.Value = ""
    tbДоп.Value = ""
    tbТелефон.Value = ""
End Sub