Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
VBA В макросе, вызванном другим макросом, присвоить значение переменной
 
Добрый день!

Подскажите, пожалуйста, почему такой макрос
Код
Sub setPassword(ByRef login As String) 

  login = "login"

End Sub

размещённый в личной книге макросов, вызываемый таким макросом,

Код
Sub myPassword()  

  Dim login As String  

  login = "123"  

  Application.Run "PERSONAL.XLSB!setPassword", login  

  Debug.Print login

End Sub

который лежит в модуле обычной excel книги, в конечном итоге выдаёт в отладчике "123", а не "login"?
Изменено: artem3.6 - 04.04.2020 22:58:06
VBA: копирование и вставка данных с листа на лист
 
Kuzmich, хорошее решение, спасибо!
А если отталкиваться от того, что в таблицах не будут совпадать названия столбцов, можно ли что-то придумать в таком случае?
VBA: копирование и вставка данных с листа на лист
 
Добрый вечер.
Подскажите, пожалуйста, как можно оптимизировать код макроса, который вставляет определённые столбцы с данными с Листа1 на Лист2.
Файл примера во вложении.
VBA: изменение высоты строк с объединёнными ячейками в строках
 
  Добрый вечер.
 Имеется таблица с объединёнными ячейками в строках.
 Проблема в том, что Excel не хочет регулировать высоту строк автоматически из-за объединённых ячеек. Проблема по сути была решена с помощью макроса в примере, добавленного в исходный код страницы с таблицами. Но решение вышло довольно-таки неэффективное, т. к. в реальном примере таких таблиц порядка 2-х десятков с разным количеством столбцов разных размеров по ширине и количеством строк в этих таблицах от 5 до 10.
Вопрос в том, можно ли как-то оптимизировать сам макрос, чтобы он не был настолько громоздким, но, при этом, не потерял в своей функциональности.
Файл с примером во вложении.
Изменено: artem3.6 - 26.09.2019 21:03:57
VBA: подавление сообщения об ошибке с помощью макроса
 
Дмитрий(The_Prist) Щербаков, а я почему-то не подумал, что изменение настроек можно записать с помощью макроса.
Да и по сути мне не подходит этот вариант, т. к. в реальном примере объёмные таблицы с данными, куча формул там же. Непонятно, как это всё себя поведёт с включенными итеративными вычислениями.
Изменено: artem3.6 - 22.09.2019 20:17:37
VBA: подавление сообщения об ошибке с помощью макроса
 
restation, хороший вариант решения проблемы, но разве эта настройка не локальная, т. е. если открыть мой файл на др. компьютере, то будет ли там стоять галочка в этом пункте в параметрах?
VBA: подавление сообщения об ошибке с помощью макроса
 
skais675, ничего странного, пример просто для наглядности.
В реальном примере есть циклические ссылки, которые там необходимы.
Изменено: artem3.6 - 22.09.2019 19:33:44
VBA: подавление сообщения об ошибке с помощью макроса
 
Добрый день.
Подскажите, пожалуйста, можно ли подавить с помощью макроса сообщение об ошибке (предупреждение о циклических ссылках), появляющееся при открытии данного примера.
VBA: скрытие/отображение скрытых строк по условию
 
Юрий М, ну да, но в коде самого примера всё это есть)
Да и чего спорить-то, проблему мою решили и отлично.
Спасибо ещё раз помощь!
VBA: скрытие/отображение скрытых строк по условию
 
Юрий М, нет, у меня изначально в ячейке G2 была и есть формула, которая проверяла выполнение этих 2-х условий.
К тому же сейчас я немного усовершенствовал код к такому виду
Код
 Rows("4:7").Hidden = Cells(2, 3).Text <> "Да"  

Вроде как всё прекрасно работает.

Изменено: artem3.6 - 21.09.2019 13:49:58
VBA: скрытие/отображение скрытых строк по условию
 
Юрий М, простите за глупый вопрос, но зачем такой объёмный код для моей задачи?)
Код товарища RAN вроде как неплохо и так работает.
Изменено: artem3.6 - 21.09.2019 13:33:36
VBA: скрытие/отображение скрытых строк по условию
 
Юрий М, а ведь действительно. Спасибо за помощь.
VBA: скрытие/отображение скрытых строк по условию
 
Дмитрий Тарковский, спасибо!
VBA: скрытие/отображение скрытых строк по условию
 
Товарищи, ещё вопрос по данному примеру.
В примере после того, как я выбираю "да" в ячейке С2, отображается строка 4. Но отображается она не сразу, а только после того, как я стану курсором в любую другую ячейку.
Вопрос в том, можно ли как-то избавиться от этой задержки и сделать так, чтобы строка появлялась сразу после того, как я выберу "да" в С2?
VBA: скрытие/отображение скрытых строк по условию
 
vikttur, а, ну да, понял.
Спасибо!
VBA: скрытие/отображение скрытых строк по условию
 
Добрый день.
Подскажите, пожалуйста, почему в данном примере код работает без ошибок на незащищенном листе, но при установке защиты выдаёт ошибку.
VBA: заменить текст на листе при смене состояния переключателя
 
Юрий М, да, спасибо, это я уже понимаю)
VBA: заменить текст на листе при смене состояния переключателя
 
Юрий М, да там что-то от А2 до АА250. V,уже помог по сути, на данном этапе его вариант решения должен работать как надо.
Спасибо кстати, товарищ V
VBA: заменить текст на листе при смене состояния переключателя
 
Юрий М, происходит, но в отдельно взятой ячейке.
Мне же нужно, чтобы происходила замена текста на листе (как через Ctrl + H).
[ Закрыто] VBA: усовершенствование макроса в коде листа
 
Андрей_26, у меня тоже работает, но мне чтобы было максимально автоматизировано.
А темы я не дублирую по сути, здесь уже другая проблема.
[ Закрыто] VBA: усовершенствование макроса в коде листа
 
Добрый день. Имеется макрос, который заменяет значения на листе при смене состояния переключателя. Проблема в том, что значения меняются не сразу после клика по переключателю, а только после того, как встать курсором в произвольную ячейку.
Можно ли как-то сделать, чтобы замена происходила автоматически вместе с изменением значения в ячейке А1?
VBA: заменить текст на листе при смене состояния переключателя
 
Юрий М, ну да, тут всё просто.
Но у меня всё-таки немного другая задача: я хочу, чтобы при смене состояния переключателя происходила замена текста на листе (в рассматриваемом примере это 'Лист2' на 'Лист3'). Причём замена должна работать в обе стороны. Как-то вот так.
VBA: заменить текст на листе при смене состояния переключателя
 
Юрий М, да, логичнее и проще всего.
В реальном примере, на главном листе есть пользовательские функции, в которых есть ссылки на определённые ячейки на техническом листе. И мне сейчас нужно добавить 2 тех. лист и, следовательно, надо чтобы при смене состояния переключателей менялись и названия листов.
А проблема в том, что пользовательские функции почему-то не хотят правильно работать с формулами типа ЕСЛИ(А=1;Лист2!А1;Лист3!А1). Ну и как вариант я вижу динамическую замену с помощью макроса этих самых Лист2 на Лист3 и обратно при смене состояния переключателя.
VBA: заменить текст на листе при смене состояния переключателя
 
Юрий М, да, так будет более правильно
Изменено: artem3.6 - 18.09.2019 22:08:09
VBA: заменить текст на листе при смене состояния переключателя
 
Доброго времени суток.
Можно ли с помощью макроса в коде листа сделать так, чтобы при смене состояния переключателя происходила замена текста на листе
(например, в примере в ячейках F7:F8 при смене состояния переключателя из 1 в 2 формулы должны ссылаться на Лист3, при смене из 2 в 1 - на Лист2).
Изменено: artem3.6 - 18.09.2019 22:10:40
VBA: скрытие/отображение скрытых строк по условию
 
  Добрый день.
 Имеется файл с множеством таблиц для заполнения. Изначально все они скрыты и заполняются только при выполнении определенного условия.
 Эту задачу удалось решить с помощью довольно-таки простого макроса, добавленного в исходный код страницы с таблицами. Но, как по мне, решение вышло довольно-таки неэффективное, т. к. в реальном примере таких таблиц в одном файле порядка 2-х десятков с количеством строк в каждой от 5 до 10.
 Вопрос в том, можно ли как-то оптимизировать сам макрос, чтобы он не был настолько громоздким, но, при этом, не потерял в своей функциональности.
 Файл с примером во вложении.
VBA: изменение высоты строк с объединёнными ячейками в строках
 
vikttur,спасибо за разъяснения, всё заработало так, как было нужно.
Ещё раз спасибо за помощь!
VBA: изменение высоты строк с объединёнными ячейками в строках
 
vikttur, в моём коде возникает ошибка когда удаляешь введённое в строку значение. В вашем решении 1 возникает точно такая же ошибка как и у меня, во 2 также возникает ошибка, но уже отличная от ошибки в 1 решении.
VBA: изменение высоты строк с объединёнными ячейками в строках
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Cells(4, 2), Cells(6, 2), Cells(8, 2))) Is Nothing Then
    Select Case Len(Target.Value)
        Case Is < 36
            rHeight = 15
        Case 36 To 70
            rHeight = 30
        Case 71 To 100
            rHeight = 45
        Case Is > 100
            rHeight = 60
    End Select
    Rows(Target.Row).RowHeight = rHeight
End If
If Not Intersect(Target, Union(Cells(13, 2), Cells(15, 2), Cells(17, 2))) Is Nothing Then
    Select Case Len(Target.Value)
        Case Is < 20
            rHeight = 15
        Case 20 To 40
            rHeight = 30
        Case 41 To 60
            rHeight = 45
        Case Is > 60
            rHeight = 60
    End Select
    Rows(Target.Row).RowHeight = rHeight
End If
End Sub
Товарищи, подскажите пожалуйста, можно ли как-то уйти от возникающей ошибки в данном примере?
Изменено: artem3.6 - 01.09.2019 22:17:53
впр по первым буквам
 
vikttur, извините, но в голову не приходит ничего, кроме чего-то вроде "поиск сцепленного значения в таблице с несцепленными значениями"  :)  
Страницы: 1 2 След.
Наверх