Выше уже есть ответы. Документация разработчика: сочетание клавиш CTRL+SHIFT+ЗНАК ДОЛЛАРА ($) означает "Примените формат валюты с двумя десятичными знаками (отрицательные числа в круглых скобках)". Осталось разобраться, где находится знак доллара на клавиатуре и в какой раскладке.
Передача переменных из UserForm в процедуру обычного модуля., Нужно передать переменную из процедуры кнопки UserForm в процедуру обычного модуля для дальнейшего использования этой переменной.
Посмотрите с одним дополнительным столбцом (D). Сортируете по убыванию D, убыванию C, возрастанию A. Формулы в столбце D указаны с учетом Вашей версии Excel.
Непонятно даже с примером. Сортировать по первому столбцу по возрастаню (первый уровень сортировки) и третьему столбку по убыванию (второй уровень сортировки)?
Вы можете легко проверить это самостоятельно (кстати, лучший метод для изучения Excel). У меня нет сейчас Excel под рукой, но ставлю на то, что поиск производится по полному диапазону строк без учета фильтра.
Ваш макрос из #1 не будет работать в системах MS Windows, кодовая страница которых по умолчанию отлична от windows-1251 (из-за русских букв в названии файла). Подробнее см. п. 3.1 этого сообщения.
Добрый день! Метод из #3 будет выводить числа с разделителем дробной доли точкой, если это предусмотрено региональными настройками. Судя по файлу из #1, у автора темы именно этот случай.
Функция Str возвращает неотрицательные числа с дополнительным пробелом слева и не факт, что это понравится принимающей программе. Я бы строку 9 из #2 записал в более безопасном виде (IsNumeric зависит от региональных настроек):
Код
If VarType(data) = vbDouble Then data = Replace(data, ".", ",")
Макрос с удалением через фильтр не будет быстрым, если удаляемые строки равномерно распределены по диапазону. Например, занесем формулу в ячейки A2:A100000
Можно для чистоты эксперимента заменить формулы на значения. Теперь выполняем макрос Aндрея из #7 (заменив в двух местах номера поля на 1). У меня (Excel 2016) время удаления составило около минуты. Удаление по способу 2, указанному Михаилом в #4, будет практически мгновенным. На форуме есть несколько сообщений Владимира (ZVI), в которых реализован способ 2.
Здравствуйте, Алексей! Свойство Range.Width измеряется в точках (points). Точка равна 1/72 дюйма. Наконец, дюйм равен 2,54 см. Интерпретатор VBA сам оптимизирует выражение.
У Вас в столбцах A и B значения ячеек являются текстом, который, по-видимому, соответствует датам в формате ММ/ДД/ГГГГ. Самый быстрый путь преобразовать их в даты - выделите ячейки и выполните макрос:
Код
Sub Test()
Selection.Value = Selection.Value
End Sub
Должно работать при любых региональных настройках.
Самое разумное - перед отправкой пользователям удалять примечания с листа: выделить ячейки лиcта, в контекстном меню Удалить примечание. Можно такое сделать и макросом.