Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2009, 11:37   #11
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Да есть.
Весь код такой:
Private Sub Workbook_Open()

Dim i As Long, x As New Collection, a(): Application.ScreenUpdating = False
With Sheets(1)
a = .Range([B6], .Cells(6, Columns.Count).End(xlToLeft)).Value
.ComboBox1.Clear: .ComboBox1.AddItem "Все"
For i = 1 To UBound(a, 2)
On Error Resume Next: x.Add a(1, i), CStr(a(1, i))
If Err = 0 Then .ComboBox1.AddItem a(1, i) Else On Error GoTo 0
Next: End With

End Sub

Макросы включены.
MaxxVer вне форума Ответить с цитированием
Старый 08.12.2009, 11:44   #12
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Попробуйте перед строкой
Код:
End Sub
Вставить в этот код строку
Код:
MsgBox "Макрос выполнен."
. Сохраните, закройте и вновь откройте книгу. Появится ли это сообщение?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 08.12.2009, 12:03   #13
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Всё сделал, сообщение не выходит...
MaxxVer вне форума Ответить с цитированием
Старый 08.12.2009, 12:11   #14
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Значит, по какой-то причине макрос не выполняется. В причине нужно разбираться. Попробуйте вставить общий программный модуль и в него скопировать код из модуля "Эта книга". Затем смените имя макроса Private Sub Workbook_Open(), например, на Sub Main(). После всего этого запустите макрос Main вручную.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 08.12.2009, 12:25   #15
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Перезапустил эксель - заработало. Возможно причина была в том, что было открыто много книг, в одной из которых была выставлена настройка пересчета формул вручную, а не автоматически, соответственно, когда я открывал нашу книгу с макросом, пересчет не шел, менял в настройках пересчет на автомат - результата не было, а закрыл все книги и перезапустился - заработало...
П.С. спасибо за макрос.
MaxxVer вне форума Ответить с цитированием
Старый 08.12.2009, 12:40   #16
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вам такая сортировка была нужна?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 08.12.2009, 12:43   #17
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Да. Только подскажите еще, пожалуйста, если я захочу применить этот макрос в другой книге, увеличить или уменьшить количество столбцов, как изменить код, где задается кол-во столбцов или диапазон?
MaxxVer вне форума Ответить с цитированием
Старый 08.12.2009, 13:03   #18
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

При открытии книги, запускается макрос, который формирует значения критериев для последующей фильтрации в ComboBox-е из уникальных значений 6-й строки, начиная со столбца "B" до последнего заполненного. Так что столбцов может быть сколько угодно. Единственное, что нужно учитывать, это то, что макрос заполняет ComboBox при открытии. Поэтому, поле внесения изменений на рабочем листе (изменение количества столбцов, изменение заголовков столбцов и т.п.) необходимо сохранить, закрыть и снова открыть файл.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 08.12.2009, 13:43   #19
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Теперь всё понятно. Огромное спасибо. С каждым днём, всё больше убеждаюсь, что даже рядовому экономисту необходимы знания программирования ВБА. А так как в универе меня этому не учили, а на самостоятельное изучение времени не хватает, приходится мучить Вас
MaxxVer вне форума Ответить с цитированием
Старый 09.12.2009, 07:03   #20
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Еще один маленький вопрос - я заметил что при использовании данного фильтра Excel, видимо, его не распознает как фильтр, потому что при использвании формулы "ПРОМЕЖУТОЧНЫЕ.ИТОГИ" суммируется всё равно весь диапазон. Можно ли как-то справиться с этой проблемой?
MaxxVer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение одинаковых значений в 2 столбцах jaguardark Microsoft Office Excel 22 06.09.2017 14:37
Поиск значения в столбцах KReoN Microsoft Office Excel 12 26.10.2009 00:14
как сравнить даные в четырёх столбцах ALEKS2008 Microsoft Office Excel 4 14.09.2009 12:45
Сопоставление данных в двух столбцах plasticman Microsoft Office Excel 4 12.03.2009 17:45
сравнение данных в двух столбцах в Excel 2003 grinders Microsoft Office Excel 4 25.11.2008 16:58