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

Страницы: 1
В каких случаях могут быть проблемы при применении свойств Application
 
vikttur,нет. Я пытаюсь выяснить нюансы работы с этими свойствами, потому что нормальной документации у vba нет. А люди мне хорошо помогают
В каких случаях могут быть проблемы при применении свойств Application
 
Цитата
БМВ написал:
1. Перед изменением сохранить предыдущее состояние и вернуть именно его, а не просто включить - это идеальный вариант который исключит сбой например при рекурсии, когда при выходе из подпрограммы будет изменено состояние в некорректное.
Добрый день!

Расскажите, пожалуйста, поподробнее!
Я правильно понял, что при переходе из процедуры в процедуру сбрасываются состояния этих свойств? Я обычно открываю и закрываю эти свойства в самой корневой процедуре, которая запускает у меня формы. И у меня возникали странные ситуации, когда я с помощью дебага смотрю состояние статусов после запуска формы и они у меня некорректные (хотя я их отключал и по логике программы еще не успел включить обратно). А если в том же месте смотрю с мощью MsgBox (Application.ScreenUpdating), то все значения у меня корректны
Применить код для всех textbox при нажатие MouseDown
 
Андрей_26, По поводу textbox-ов, прошу выслать свою почту, я вам направлю экономическое обоснование каждого поля) Вам удобно в PDF? Или лучше презентацией?
А если серьезно - реализую что-то около базы данных/CRM-системы. И я в курсе про ctrl+C / ctrl + V. Мне просто быстрее, интереснее и практичнее реализовать КомандБар, чем обучать пару десятков взрослых людей компьютерной грамотности.  
Применить код для всех textbox при нажатие MouseDown
 
Добрый день!

У меня есть vba-проект, в котором несколько форм с десятками элементов TextBox. Пользователь просит реализовать правую кнопку мыши с функционированием команд "скопировать" и "вставить". На просторах необъятного я нашел как реализовать КомандБар по щелчку правой кнопки мыши в текстбоксе. Но это работает внутри функции
Код
Dim Teg As Boolean

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim RightButton As CommandBar
    If Button = 2 Then '
        If Teg = False Then
            Set RightButton = Application.CommandBars.Add(Position:=msoBarPopup) 'Добавляем КомандБар 
            With RightButton
                With .Controls.Add(msoControlButton) 'Добавляем функционал копирования
                    .Caption = "Копировать"
                    .OnAction = "My_copy"
                    .FaceId = 19
                End With
                With .Controls.Add(msoControlButton) 'Добавляем функционал Вставки

                    .Caption = "Вставить"
                    .OnAction = "My_paste"
                    .FaceId = 22
                End With
                .ShowPopup
                .Delete
            End With
            Set RightButton = Nothing
            Teg = True
        Else
            Teg = False
        End If
    End If
End Sub
Вопрос! Можно ли как-то реализовать данный функционал для всех textbox-ов в форме, чтобы не писать миллион раз миллион строк одинакового текста. И если да, то как?
В каких случаях могут быть проблемы при применении свойств Application
 
Насколько я понял, ScreenUpdating и EnableEvents довольно безопасны при работе с незамысловатыми макросами. На результаты вычислений никак не повлияют.
А вот с Calculation боюсь представить какие косяки могут быть. И могут ли они быть?

К примеру, кейс с отключением Calculation:
  • вставляем в столбец A числа
  • В столбце B у нас формула протянута, ссылающаяся на столбец A
  • Рассчитываем столбец С так C_i = A_i + B_i. циклом, внутри макроса.
Вопрос, столбец C будет корректный? или из-за того, что столбец B не обновился, то и в C будет некорректная инфа?
В каких случаях могут быть проблемы при применении свойств Application
 
Добрый день!

В каких случаях нельзя/нежелательно использовать каждый из следующих свойств? В каких случаях у меня могут быть проблемы?
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False
Обновление данных, получаемых из СУБД, без указания пользователем Excel логина и пароля к базе, настроить подключение к SQL Server
 
Добрый день!

Делаю регулярную отчетность, которой будут пользоваться разные люди. У меня есть таблица в БД на SQL Server. Я подключил ее к excel с помощью "Данные -> Создать запрос -> Из базы данных -> Из базы данных SQL Server".
Задача: Яхочу, чтобы при нажатии кнопки "Обновить все" любым пользователем все подключения автоматически обновлялись.
Проблема: У других пользователей может не быть доступа к этой БД. И им нужно будет вводить свой логин + пароль
Вопрос: Можно ли настроить как-нибудь запрос, чтобы у других пользователей все работало нормально без доступов и без запросов логина и пароля. Возможно, чтобы excel делал запрос с моими данными?

Коллеги, подскажите, пожалуйста!!  :D  
Как закрепить окно проекта внутри редактора VBA?
 
 Дмитрий(The_Prist) Щербаков, разобрался сам (Нетривиальная задача... :D )
Как закрепить окно проекта внутри редактора VBA?
 
Дмитрий(The_Prist) Щербаков, Спасибо большое!!!!
А как теперь расположить их друг под другом??

Как закрепить окно проекта внутри редактора VBA?
 
SOS! Помогите!  
Как закрепить окно внутри редактора VBA?  :D


Очень бесит.... :evil:  
Как вы монетизируете свои знания excel + vba?
 
Добрый день, интересно послушать как вы монетизируете свои знания excel и vba  :)

Может кто-то работает на аутсорсе, может быть вообще какой-нибудь консалтинг существует для MS Office или кто-то в офисе работает? В общем, был бы рад услышать ваши истории и идеи? По возможности пишите еще, пожалуйста, приблизительные финансовые вилки у того или иного вида заработка!  
Изменено: anmendel - 06.02.2020 17:24:03
Макрос, работающий в 2016, не работает в 2010
 
RAN, в самом excel 2010 есть такой функционал (есть кнопка xD)
Дмитрий(The_Prist) Щербаков, подскажите, пожалуйста, а как тогда тоже самое сделать в VBA  для excel 2010?
Макрос, работающий в 2016, не работает в 2010
 
Дмитрий(The_Prist) Щербаков, спасибо! Я очень долго пытался нагуглить информацию об изменения в vba 15 и 16. Так и не смог((
Макрос, работающий в 2016, не работает в 2010
 
Добрый день!

В VBA в EXCEL 2010 вылетает ошибка при запуске кода. В 2016 такой проблемы нет.
Код
ActiveWorkbook.refreshAll

Пишет что-то типа: "такого класса нет" или "класс не доступен". Подскажите, пожалуйста, в чем может быть проблема?  
Изменено: anmendel - 22.01.2020 15:53:09
Фильтр сводной таблицы VBA
 
Нашел решение - On Error Resume Next
Фильтр сводной таблицы VBA
 
Здравствуйте!

Столкнулся с проблемой: мне нужно отфильтровать строки сводной таблицы, но я не знаю заранее какие значения имеются в таблице. Знаю только то, что некий перечень не должен туда попасть. То есть, если я напишу такой код, то value3 может не быть и код выдаст ошибку. (но если value3 есть, то его надо отфильтровать).

Код
With ActiveSheet.PivotTables("Table Name").PivotFields("Field Name")
        .PivotItems("Value1").Visible = False
        .PivotItems("Value2").Visible = False
        .PivotItems("Value3").Visible = False
End With


Подскажите, пожалуйста, как можно решить данную проблему!
Через VBA вставить формулу в ячейку таблицы
 
Дмитрий(The_Prist) Щербаков, спасибо, все получилось. Я не сразу понял, что R1C1 - это обозначение rows и columns)
Через VBA вставить формулу в ячейку таблицы
 
Дмитрий(The_Prist) Щербаков,, попробовал сделать как Вы сказали, не получилось.
Код:
Код
Cells(2, 7).FormulaR1C1Local = "=ВПР([@[S1_ID]];'export data'!C1:O100; 13; 0)"
Excel:
Код
=ВПР([@[S1_ID]];'export data'!$A:$A:'O100'; 13; 0)
Изменено: anmendel - 17.01.2020 17:47:36
Через VBA вставить формулу в ячейку таблицы
 
Здравствуйте!

Мне нужно через VBA вставить формулу в ячейку таблицы. Написал код, но он вставляется странно. Подскажите, пожалуйста, в чем ошибка и как правильно это сделать?
Код
Cells(2, 7).FormulaR1C1Local = "=ВПР([@[S1_ID]];'export data'!C:O; 13; 0)"
То что вставилось в таблицу:
Код
=ВПР([@[S1_ID]];'export data'!G:G:O; 13; 0)
Страницы: 1
Наверх