Доброго всем вечера! Избитая, кажется, тема, но уже много источников просмотрела и никак не могу найти простого ответа - все с какими-то хитростями и сложностями. Нужен Combobox с поиском значений по нескольким введенным символам, которые могут находиться в любой части значения (в начале, в конце, в середине), никаких дополнительных элементов на форме размещать по задаче нельзя (видела решения с Listbox), никаких данных из других столбцов подхватывать не нужно тоже (видела решение по двум столбцам - слишком много и сложно и с сортировкой - не смогла разобраться, чтобы адаптировать под себя). По итогам поиска на форме должен быть открыть список с найденными значениями, то есть список на основании первоначального (включающего в себя все возможные записи), сокращенный до того числа значений, в которых встретились вводимые символы. Подскажите, где можно подсмотреть такое решение? Или подскажите, пожалуйста, чего в моём коде не хватает, чтобы он заработал?
Добрый день! Нашла в интернете образец макроса для создания письма из Excel в OutLook, так как очень нужно, чтобы создавалось письмо и оставалось открытым, не отправлялось, но программа вообще ничего не делает. Помогите, пожалуйста, исправить ошибку.
Доброго дня! Не получается решить простую задачку и не могу разобраться, в чем причина. Помогите, пожалуйста.
В Combobox вводится числовое значение и при нажатии на ОК нужно сравнить его с числом, записанным в ячейку. При очевидно одинаковых числах программа считает их разными. Пробовала дописывать Combobox.Value - тоже не помогло.
Здравствуйте! Мучаюсь с кажется весьма простым вопросом - не могу записать в переменную имя созданной макросом сводной таблицы. Подскажите, пожалуйста, что не так? Пробовала их считать, записывать имя на русском или английском и всё не то выходит. ((
Здравствуйте! Столкнулась со странностью в UserForm, которая заключается в следующем: Когда впервые выбираю Департамент в списке ComboBox2 и формируется список Отделов для ComboBox3 - все нормально. Если вернуться и выбрать другой департамент - прежний список ComboBox3 очищается (ComboBox3 = Empty) и формируется новый. Но если выбрать Департамент (Управление МСФО), в котором всего один отдел, то список ComboBox3 не очищается и этот единственный отдел добавляется к предыдущему списку. Ерунда какая-то Помогите, пожалуйста, разобраться. Это третья процедура в UserForm: Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) Кусочек кода, где прописана очистка:
Код
'добавляем получившийся список отделов в элемент управления формы
'и если это значение единственное - вывести его
ComboBox3 = Empty
If n2 = 2 Then
ComboBox3.AddItem Sh_ShL.Range("G2").Value
Me.ComboBox3 = Sh_ShL.Range("G2").Value
ElseIf n2 > 2 Then
ComboBox3.List = Sh_ShL.Range(Sh_ShL.Cells(2, 7), Sh_ShL.Cells(n2, 7)).Value
End If
Добрый день! Разбираюсь с функцией МВСД на простом примере, похожем на пример Справки, и не пойму, почему результат функции не пересчитывается (в зеленой ячейке), когда я меняю значение ставки по кредиту (в желтой ячейке). Помогите, пожалуйста, разобраться и понять, в чем дело.
Добрый всем день! Назрела необходимость дать юзеру возможность выбрать файл самостоятельно (который дальше обрабатывается макросом) и никак не могу найти простой и понятный пример, как это сделать с помощью FileDialog Поняла, что это окошко выдаст путь к файлу, а как записать его в переменную и дальше написать Workbooks.Open совсем не пойму
Помогите, пожалуйста, с этими строчками Или подскажите, где стоит посмотреть? Не трехэтажные навороты со всевозможной всячиной (роюсь уже все утро в щедрых результатах поиска), а решение вот этого простого действия Спасибо
Доброго всем дня! Столкнулась с ситуацией и не понимаю - слишком много хочу от VBA, или хитрость есть какая С помощью UserForm хочу выделить диапазон ячеек на листе, далее внутри нее же определить публичную переменную, отвечающую за границы диапазона процедуры из обычного модуля, ну и чтобы далее внутри той процедуры использовался бы этот адрес диапазона. Но ругается на меня редактор... Возможно ли этого сделать, подскажите, пожалуйста? Файл прикрепила
Добрый день! Ломаю голову над вопросом, а может и зря.. Подскажите, возможно ли в принципе при помощи формул (без макросов) создать порядковые номера (образец выделен цветом в приложенном файле и там же вписан комментарий, по какому правилу все происходит) В формуле массива ПОИСКПОЗ не получилось прикрутить, т.к. данные не отсортированы и таблице сортировке не подлежит.. Что еще тут можно придумать?
Доброе всем утро! Подскажите, пожалуйста, возможно ли как-то разрулить следующую ситуацию: Есть несколько макросов в модулях листов, привязанных к событиям выделения, редактирования ячеек и активации самих листов. Такой режим работы нужен для пользователя. Хотелось бы сделать кнопочку назовем ее условно "Админ", при нажатии на которую эти макросы отключались бы. Соответственно, вопрос: - что написать в коде макроса, чтобы отключить только конкретные процедуры, если это возможно? - с помощью какой команды включить потом обратно? Если нельзя выборочно отключить макросы, то как отключить их совсем?..
А вот такой вопрос возник, если кто знает - пошаговое тестирование кода из модуля листа вообще никак не возможно?.. Опять какая-то явно логическая ошибка и непонятно, как искать
Помогите, пожалуйста, разобраться - почему макросы отключаются? При первом открытии файла и включении макросов при вводе в желтую ячейку указанного сейчас числа в зеленой ячейке формируется выпадающий список При удалении данных в зеленой ячейке ее выпадающий список должен удаляться, содержимое обеих цветных ячеек - очищено Все работает ДО этого момента, а после удаления данных из зеленой ячейки макросы перестают работать вообще То есть в желтой опять ввожу этот же код и уже никаких действий не происходит...
Добрый всем день! Помогите, пожалуйста, разобраться. Никак не пойму в чем секрет - не работает строка
Код
If PSW = vbCancel Then Exit Sub
И через проверку пустого значения делала, и через константу попробовала, но что-то VBA все равно не нравится :( Как сделать так, чтобы при нажатии на кнопку Cancel окно Inputbox просто закрывалось бы и никакого нижеследующего MsgBox не выводилось бы?
Код
Sub Admin()
Dim PSW As Variant
PSW = InputBox("Введите пароль", "АДМИН")
If PSW = vbCancel Then Exit Sub
If PSW = 555 Then Activesheet.Unprotect Password:="555"
If PSW <> 555 And Not IsEmpty(PSW) Then MsgBox "Введен неверный пароль!", vbCritical, "ОШИБКА!"
End Sub
Доброго всем вечера! Не отдыхается, мучает вопрос по массивам Подскажите, пожалуйста, в чем может быть дело.. Нужно записать в массив значения из столбца E только в том случае, если значения столбца A совпадают со значением ячейки A1 и при этом значения столбца D совпадают со значениями ячейки B1 Использую динамический массив, размер переопределяю по количеству найденных совпадений, данные записываю (точнее - я думаю, что записываю :) ), но в ячейках этот список не выводится, видимо - не заполняется массив :( Буду очень признательна за помощь
Добрый всем день! Сделала хитрый выпадающий список в A1, смысл в том, чтобы при выборе данных из списка в ячейку подставлялось бы только первая часть до тире Это я сделала, в модуль листа сложила Как только добавила кусок кода Else (чтобы данные в ячейке стирались, если пользователь там чушь напишет), стало все глючить - отрубаются все действия. Пробовала EnableEvents по-разному впихнуть, тоже не выходит
Доброе всем утро! Хочу запретить копирование-вставку данных на листе Защитить не могу, потому что НУЖНО, чтобы юзер вводил данные в такие ячейки вручную Как отрубить контекстное меню разобралась Еще бы клавиши отключить: ctrl + c, например. Нашла в справке вот такую команду: Application.OnKey "+^{RIGHT}", "" Она блокирует комбинацию клавиш ctrl + shift + вправо. Подскажите, пожалуйста, как ее переделать, чтобы не выполнялись команды клавиш ctrl + c/x/v ?
Помогите, пожалуйста, решить небольшую проблемку - хочу макросом сделать размеры страницы для печати на 1 лист Но что-то не получается Вытащила кусок из кода, сгенерированного с помощью макрорекордера, но, видимо, не тот кусок
Подскажите, пожалуйста, как правильно написать эту команду?
И еще раз день добрый! Очень нужен совет по использованию имен Сделала имена диапазонов на первом листе и теперь хочу использовать эти имена на втором листе для замены ссылок на ячейки, лежащие на пересечении этих диапазонов. Если вручную прописывать - все ОК. Но вручную переписывать все формулы - долго (в полной версии файла). А когда пробую использовать встроенную команду Формулы - Определенные имена - Присвоить имя - Применить имена - Excel ругается и говорит, что не находит ссылок для замены... В то же время - если выполнять эту команду для формул, расположенных на том же листе, что и имена - все прекрасно работает.... Может, спрятана где хитрая настройка, чтобы решить эту задачку на разных листах? Подскажите, пожалуйста Заранее спасибо!
Доброе всем утро! Подскажите, пожалуйста, как в VBA вписать содержимое листа на 1 стр? Количество строк будет меняться плюс-минус несколько Написала две строки (в файле), но их оказалось недостаточно - чего-то ему не хватает
Очень хочется разгруппировать возможно сгруппированные строки и столбцы на листе перед выполнением макроса (сгруппированы или нет - заранее знать не могу), вот только решение приходит в голову, как мне кажется, не совсем оптимальное (кусочек кода ниже). Если есть возможность написать это компактнее - поделитесь, пожалуйста, идеей - КАК? Спасибо!
Код
On Error Resume Next
Worksheets(1).Rows.Ungroup
Worksheets(1).Rows.Ungroup
Worksheets(1).Rows.Ungroup
Worksheets(1).Rows.Ungroup
Worksheets(1).Rows.Ungroup
Worksheets(1).Rows.Ungroup
Worksheets(1).Rows.Ungroup
Worksheets(1).Columns.Ungroup
Worksheets(1).Columns.Ungroup
Worksheets(1).Columns.Ungroup
Worksheets(1).Columns.Ungroup
Worksheets(1).Columns.Ungroup
Worksheets(1).Columns.Ungroup
Worksheets(1).Columns.Ungroup
On Error GoTo 0
Доброе всем утро! Кто пользуется 2013-ой версией - подскажите, пожалуйста, куда они запрятали возможность включить вторую горизонтальную ось?... Уже все, кажется, облазила Только еще не везде сориентировалась - и потому иногда хоть за локти себя кусай - но непонятно, что-куда спрятали В том числе и эту возможность - раньше вроде была под кнопкой ОСИ - а теперь ее там нет (как раз этот фрагмент отскринила)
Помогите, пожалуйста, увидеть ошибку Собираю номер заказа как номер книги + номер копии листа, и когда нужно вставить между ноль - не получается - VBA упорно не хочет его добавлять, пропускает, собирает номер без нуля (((
Не спится - не получается вот такую ситуацию победить, помогите, пжлста: при помощи VBA делаю вычисления по датам, в итоге в ячейке при помощи формулы прописывается дата по в виде числа, и после этого настройка формата этих ячеек не помогает сделать из ячеек дату, пока содержимое не обновится... Как сделать это обновление программно, подскажите пожалуйста, если сталкивались...
Всем добрый день! Подскажите, пожалуйста, если мне нужно вписать в ячейку текст в кавычках, как это прописать в коде VBA? range("a1" .value=""Фирма"" не выходит...
Делаю так, чтобы число в ячейке умножалось на 1,18 Подскажите, пожалуйста, почему VBA не нравится формула? Ругается именно на нее
Код
Sub UmnojitNDS()
Dim C As Range
Dim X As Variant
With Selection
For Each C In Selection
X = C.Value
C.Formula = "=" & X & "*1.18"
Next C
End With
End Sub
Коллеги, добрый день! Помогите, пожалуйста, разобраться в вопросе...
Использую Анализ что-если - Таблицу данных - никак не пойму, почему иногда расчеты верны, а иногда ну совсем результат некорректный получается Вроде бы все делаю одинаково, но результаты далеки от правды, они как-то смещаются похоже...
Файл с образцом чуть-чуть больше получается, не могу прикрепить, но готова скинуть на почту показать
Может кто может помочь подсказать - ПОЧЕМУ так? Заранее спасибо!
Помогите, пжлста - пытаюсь сделать пользовательскую функцию, чтобы упростить расчет и избежать вложенных функций, а работать не хочет ((
Вот эту вещь: =ИНДЕКС(A:G;ПОИСКПОЗ(J3&J4&J5;A:A&B:B&C:C;0);ПОИСКПОЗ(J6;A1:G1;0))
Пишу как:
Код
Function Tarif(Таблица As Range, Регион, Транспортная, Страховая, Вид_транспорта, СтолбецРегиона As Range, СтолбецТранспортной As Range, СтолбецСтраховой As Range, Шапка_таблицы As Range)
Tarif = WorksheetFunction.Index(Таблица, WorksheetFunction.Match(Регион & Транспортная & Страховая, СтолбецРегиона & СтолбецТранспортной & СтолбецСтраховой, 0), WorksheetFunction.Match(Вид_транспорта, Шапка_таблицы, 0))
End Function
Ввожу как функцию массива (Ctrl+Shift+Enter), а ошибка вида #ЗНАЧ в итоге... Подскажите, почему? Спасибо!
Подскажите, пожалуйста, что могло случиться с функцией - несколько дней после рождения работала отлично, а потом вдруг стала возвращать ошибку вида #ЗНАЧ! - к коду никто не прикасался...
Код
Function ВПР_2(ИскомоеЗначение, Таблица, СтолбецПоиска, СтолбецПодстановки)
Dim Nrow As Double
Dim i As Double
Nrow = Таблица.Rows.Count
For i = 1 To Nrow
If Cells(i + Таблица.Rows(1).Row - 1, СтолбецПоиска + Таблица.Columns(1).Column - 1).Value = ИскомоеЗначение.Value Then
ВПР_2 = Cells(i + Таблица.Rows(1).Row - 1, СтолбецПодстановки + Таблица.Columns(1).Column - 1).Value
Exit Function
End If
Next
End Function