Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 327 След.
Макрос для замены пути в гиперсылке
 
Цитата
Nik791983 написал:
открыть сразу все гиперссылки?
нет. Но на том сайте, где взяли код есть такое: Как получить адрес гиперссылки из ячейки
Можете в том же листе или на отдельном прописать формулу, чтобы просмотреть какие гиперссылки содержатся в ячейках.
Скорее всего, в файле какой-то сбой и самих гиперссылок для VBA там нет.
Изменено: Дмитрий(The_Prist) Щербаков - 24 Июл 2019 10:35:10
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос для замены пути в гиперсылке
 
Цитата
Nik791983 написал:
тоже работает только для одной ячейки
плохо верится. Это одна и та же ячейка постоянно? Уверены, что ссылки в них содержат тот текст, который пробуете заменить?
Все же в таком случае я бы настаивал на примере файла, в котором это не работает. Т.к. известны случаи таких утверждений, хотя по факту заменяли совсем не то, что надо.
Изменено: Дмитрий(The_Prist) Щербаков - 24 Июл 2019 10:27:10
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос для замены пути в гиперсылке
 
Тогда без файла сказать причину такого поведения нельзя. Можно лишь попробовать сделать иначе. Вместо строки
Код
Set rRange = Application.InputBox("Укажите диапазон для замены", "Выбор данных", Type:=8)
записать
Код
Set rRange = Selection
Тогда замена будет производиться в выделенных ячейках(ячейки надо будет выделить ДО запуска макроса).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос для замены пути в гиперсылке
 
В файле есть условное форматирование?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Удаление cтрок по условию, "Запрос параметра" - не знаю что нужно написать
 
Цитата
Re_ написал:
Немного усовершенствовал
точно сами это делали? Плохо верится, т.к. если смогли так усовершенствовать, то вряд ли для Вас было бы сложно проследить где задается номер столбца и тупо подставить там цифру. Достаточно вместо
Код
lCol = Val(InputBox("Укажите номер столбца, в котором искать указанное значение", "Запрос параметра", 1))
записать
Код
lCol = 1
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос для замены пути в гиперсылке
 
Цитата
Nik791983 написал:
он работает только для одной ячейки, а для диапазона ячеек не работает
работает и для нескольких. опишите, как выбираете ячейки, для которых надо сделать замены. Код писался так, что указывать надо в первом всплывающем окне и об этом написано там, откуда этот код был взят.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
"Не удается выполнить макрос..."
 
Цитата
Jordan07 написал:
именно так нужно указывать? "'" & ThisWorkbook.Name & "'!R_R"? Только вместо R реальное имя макроса
да. Чтобы привязать вызов макроса именно к той книге, в которой он прописан и из которой создается меню. Для 2013 и выше это наиболее актуально, т.к. там каждая книга в новом окне и привязки могут "поломаться".
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
"Не удается выполнить макрос..."
 
Вообще плохая практика называть макросы зарезервированными именами. R - это обозначение ROW(строка) или столбец R. Поэтому у Excel возникает диссонанс с определением нужного Вам. Тогда надо делать либо как посоветовал Sanja, либо(что лучше) изменить имя макроса на не зарезервированное и назначать на кнопку так:
Код
cbButton.OnAction = "'" & ThisWorkbook.Name & "'!R_R"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
При использовании дизамического диапазона не корректно работает элемент activeX. Почему?
 
Попробуйте задавать диапазон с указанием имени листа, на котором он расположен:
Код
Лист1!месяцы
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
VBA скрытие строк без цветной заливки ячеек
 
Думаю, такой код будет более быстрым:
Код
Sub SSS()
    Dim rrow As Range, lr As Long
    Application.ScreenUpdating = False
    For lr = 3 To ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
        Set rrow = ActiveSheet.Rows(lr)
        If Not IsNull(rrow.Interior.ColorIndex) Then rrow.Hidden = True
    Next
    Application.ScreenUpdating = True
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Подтянуть сводные данные по ключу., ВПР , сложение, сводная
 
СУММЕСЛИ, СУММЕСЛИМ, СУММПРОИЗВ
Любая из формул на выбор, зависит от того, по скольким критериям надо суммировать и как их увязывать.
Конкретно для Вашего случая:
=СУММЕСЛИ('исходные данные'!A:A;A2;'исходные данные'!B:B)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос (надстройка) которую не могу удалить, не могу удалить панель надстройки
 
попробуйте просто
Код
Application.commandbars("ТТН-1 (г)").delete
Или вообще отдельной процедурой это попробуйте сделать:
Код
Sub DelInvalidPane()
    On Error Resume Next
    Application.CommandBars("ТТН-1 (г)").Delete
End Sub
ну и присмотритесь к названию - я-то со скрина списывал, который читается не очень-то хорошо. Может там не тире вовсе. А может и буквы не все русские - попробуйте разные варианты.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос (надстройка) которую не могу удалить, не могу удалить панель надстройки
 
Переходите в Visual Basic(Alt+F11) -Ctrl+G. Вставляете следующий код в появившееся внизу окно Immediate:
Код
On error resume next: Application.commandbars("ТТН-1 (г)").delete
И нажимаете Enter. должно сработать, если название панели на скрие верно переписал.
Изменено: Дмитрий(The_Prist) Щербаков - 6 Июл 2019 08:37:39
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Поиск файла в другой папке, если файл не найден в указанном месте
 
Цитата
Teemarty написал:
Out of range. Почему?
потому что синтаксис никто не отменял:
Код
.Workbooks.Open ("C:\Users\User1\Downloads\test\" & sourceFileName)
обратите внимание как это записано сейчас и как у Вас. Особенно на скобки. Все, что вне скобок - уже выходит за рамки аргумента. Строка с Dir имеет ту же ошибку и всегда по всей видимости будет не отвечать условию.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Отправка книги на почту через Outlook, корректировка функции
 
Цитата
vendigo написал:
Что я делаю не так?
Код
res = SendEmailUsingOutlook("eeto@yandex.ru", "aaa", "bbb", attach$)
должна тогда выглядеть так:
Код
res = SendEmailUsingOutlook("eeto@yandex.ru", "aaa", Worksheets("Лист с темой").Range("A1").Value, attach$)
"Лист с темой" - здесь имя листа, где ячейка с нужным текстом темы
"A1" - адрес или имя ячейки с текстом темы
Изменено: Дмитрий(The_Prist) Щербаков - 27 Июн 2019 09:42:30
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Нужно отобразить окно со скрытыми листами с помощью кнопки
 
Цитата
serpan написал:
с помощью кнопки и чтобы это окно было больше чем стандартное
Рисуйте свою UserForm, вешайте на неё нужные коды и будет счастье.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Окошко, где вписать два значения и получить ответ, Программка
 
Цитата
isteriKA написал:
на которых нету Эксель
Пишите в любом компиляторе свое приложение exe. Но данный форум здесь уже никоим боком, это факт.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как защитить элемент управления
 
Цитата
Fayct27 написал:
мог снимать ставить только один пользователь
Назначьте связь с ячейкой, а эту ячейку включите в диапазон именно только для этого пользователя. Остальные пользователи тогда не смогут изменить состояние флажка без пароля.
Хотя нет, так не сработает - глобальная защита листа не даст. Но зато в нужную ячейку пользователь может вводить ИСТИНА или ЛОЖЬ :) Но проще действительно макросом - просто вешаете его на этот элемент и все.
Код
Sub PrUnpr()
    Me.Protect "1", userinterfaceonly:=True
    Me.Range("A1").Value = Not Me.Range("A1").Value
End Sub
Элемент связан с ячейкой "А1" в этом коде. Замените на свой при желании. Код вставляется в модуль листа(правая кнопка мыши на листе -Посмотреть код). Потом правая кнопка мыши на флажке -Назначить макрос.
Правда, сообщение о том, что ячейка защищена все равно будет появляться, но и флажок поменяет свое значение.
Изменено: Дмитрий(The_Prist) Щербаков - 17 Июн 2019 17:14:32
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Нестрогий поиск - не учитывать спецсимволы и пробелы
 
Так надо было хотя бы попытаться перевести текст ошибки :) Несовпадение типов. У Вас arr - тип Variant, а моя функция требует текст. Передавайте так:
Код
arr(i, 1) = DelTrash(arr(i, 1) & "")
можно и через CStr, но кто знает что там у Вас в arr - вдруг там Null откуда-то возьмется...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Нестрогий поиск - не учитывать спецсимволы и пробелы
 
Replace в помощь. В цикле убираете из сравниваемой строки все лишнее. Вроде того:
Код
Function DelTrash(s$)
    Dim aToFind, li&, res$
    aToFind = Array(Chr(34), " ", ".", ",", "'", "\") 'Chr(34) = кавычка
    res = s
    For li = LBound(aToFind) To UBound(aToFind)
        res = Replace(res, aToFind(li), "")
    Next
    DelTrash = res
End Function

обе сравниваемые строки обрабатываете такой функцией и сравниваете.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
BeforeSave не срабатывает в моей надстройке, BeforeSave не срабатывает для открываемых файлов.
 
Цитата
den500 написал:
Workbook_BeforeSave не срабатывает при сохранении в моих открываемых файлах
видимо потому, что Вы используете событие самой надстройки, никоим образом не давая понять, что она должна как-то отслеживать события внутри всего приложения. Вот для ознакомления: Как отследить событие(например выделение ячеек) в любой книге?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как задать константу массива
 
Если лень заморачиваться именно отдельными функциями на присвоение значений массиву каждый раз, можно классы использовать. В стандартный модуль:
Код
Option Explicit
Public aPubAr

Sub CheckTypeArr()
    Dim caa As New clsArr
    Debug.Print aPubAr(0)
End Sub

в новый модуль класса(который называется clsArr):
Код
Option Explicit

Private Sub Class_Initialize()
    aPubAr = Array(1, 2, "three")
End Sub

Private Sub Class_Terminate()
    aPubAr = Empty
End Sub
Здесь массив будет заполняться при каждом создании нового класса(Dim caa As New clsArr). Можно заполнять так сразу все массивы в одном классе, можно на каждый массив свой класс. Зависит от задач.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как в кучу разных формул добавить значение или формулу
 
Здесь выкладывал готовый код подобного макроса: Как в ячейке с формулой вместо ошибки показать 0
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
ПОИСКПОЗ и ПРОСМОТР со строкой более 255 символов, не могу справиться с поиском по длинным строкам. Офис 365
 
Цитата
beginer89 написал:
когда я ставлю аналогичную ПСТР слева
Формулу artyrH надо вводить нажатием не просто Enter, а сочетанием трех клавиш - Ctrl+Shift+Enter
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
ПОИСКПОЗ и ПРОСМОТР со строкой более 255 символов, не могу справиться с поиском по длинным строкам. Офис 365
 
Здесь расписывал как можно искать этими функциями более 255 символов: Как найти значение в другой таблице или сила ВПР
Смотрите в самом конце.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сбор данных из разных видов файлов
 
Вы что-то вообще непонятное накрутили в коде. Посмотрите внимательно мое последнее сообщение и сделайте правки согласно него, а не что-то там плохо вменяемое от себя.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сбор данных из разных видов файлов
 
После этой строки:
Код
Sub GoData()
запишите:
Код
Dim NameFile As String
Но вообще лучше всегда использовать Option Explicit - избежите множество ошибок в будущем: Variable not defined или что такое Option Explicit и зачем оно нужно?

А эту строку:
Код
NameFile = """ & Mid(avFiles, i + 1) & """
можно записать без кавычек - зачем они? У Вас книги тоже с кавычками записаны?
Код
NameFile = Mid(avFiles, i + 1)
Да и вообще, функция написана коряво и работать не будет. Хотя бы это:
Код
Set wb = SheetName
нельзя объекту назначить тип String. Надо как минимум:
Код
Set wb = Application.Workbooks(SheetName)
хотя проще сразу передавать в качестве аргумента именно ссылку на книгу, а не её имя. Т.е. вместо этих строк:
Код
Function CheckListSub(SheetName As String) As String
Dim wb As Workbook
Set wb = SheetName
записать
Код
Function CheckListSub(wb As Workbook) As String
а функцию вызывать так:
Код
Workbooks.Open Filename:=avFiles 
Set Database = ActiveWorkbook
CheckList = CheckListSub(Database)
Изменено: Дмитрий(The_Prist) Щербаков - 16 Май 2019 12:01:18
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Ribbon, VBA, Excel 2019, кнопка на ленте не находит функцию обратного вызова, Excel не находит функцию обратного вызова, прописанную в onAction разметки Ribbon, если в книге более 1 модуля.
 
Цитата
dolbodub написал:
К кнопке через onAction
как Вы к кнопе ribbon по onAction привязываете? В XML схеме? Лучше файл проблемный приложите - будет надежнее.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сводная таблица разбивает исходный столбец на два.
 
Цитата
Maranii написал:
как можно убрать это разделение?
выделяете в заголовке ячейку "Часы" -Правая кнопка мыши -Разгруппировать. Все будет как положено.
Начиная с 2013 Excel в сводных происходит автогруппировка полей с датами и временем. чтобы это убрать(при создании новых сводных):
Файл -Параметры -Данные -снять галочку "Отключить автоматическое группирование даты и времени в сводных таблицах"
Изменено: Дмитрий(The_Prist) Щербаков - 15 Май 2019 14:31:25
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Определение книги и листа для пользовательской функции
 
rng.Parent - лист
rng.Parent.Parent - книга
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 327 След.
Наверх