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

Страницы: 1
автоматическое изменение экселем кодового имени листа при открытии нескольких книг. как бороться, и можно ли бороться.
 
Леди и Джентльмены, столкнулся с проблемой. ну тоесть как прощелкал проблему((( были открыты 2 книги в одной макросы. в одной много кода, весь кол был привязан к кодовому имени лист1.  сохранился, и тут что-то пошло не так. сама таблица стала листом 11. весь код остался в чем-то не понятном под названием лист1, но редактор вба отображает его не как лист эксель, значек висит как у книги, но оно все равно является частью книги. ну остался и ладно. только не работает.  понаписано там моими кривыми руками нормально так)). собственно работоспособность кода я восстановил, копипастом + изменением всего, где написано "лист1", на лист11. Но хотелось бы избежать подобных проблем в будущем. есть решения? подскажите плс.
Изменено: DerToDD - 16.05.2025 19:37:37
управление нумерацией страниц в ворде из экселюшки
 
даммы и господа)) подскажиье плс. Оформляю я технические отчеты. В них может быть от одного до ***** протоколов. Каждый протокол нумеруется по порядку. Ну а в случае со сбором в отчет протоколов много.  Идут по порядку. На заполнение протоколрв написал макрос, к вот как быть с нумерацией страниц, хоть убейте. Форма отчета предусматривает небольшой косяк. Каждый протокол- отдельный фаил.
[ Закрыто] жесткая непонятка)))) когда пытаюсь прописать изменение первой формулы после строки с изменениями
 
Код
Sub Перезапись_формул_при_изменении_листа()
Dim Rng As Range, c, LastRow As Long
    Set Rng = Worksheets(1).UsedRange
    Set c = Rng.Find("ИТОГО:", LookIn:=xlValues)
    If Not c Is Nothing Then
        With c
            firstAddress = .Address
            i = 0
            Do
            Строка = c.Row
            Столбец = c.Column
      Лист2.Cells(Строка, Столбец + 1).FormulaLocal = "=СУММ(G" & строка1 + 1 & ":G" & Строка2 - 1 & ")"
      Лист2.Cells(Строка, Столбец + 2).FormulaLocal = "=СУММ(H" & строка1 + 1 & ":H" & Строка2 - 1 & ")"
      Лист2.Cells(Строка, Столбец + 3).FormulaLocal = "=СУММ(I" & строка1 + 1 & ":I" & Строка2 - 1 & ")"
      Лист2.Cells(Строка, Столбец + 4).FormulaLocal = "=СУММ(J" & строка1 + 1 & ":J" & Строка2 - 1 & ")"
      Лист2.Cells(Строка, Столбец + 5).FormulaLocal = "=СУММ(K" & строка1 + 1 & ":K" & Строка2 - 1 & ")"
      Лист2.Cells(Строка, Столбец + 6).FormulaLocal = "=СУММ(L" & строка1 + 1 & ":L" & Строка2 - 1 & ")"

                Set c = Rng.FindNext(c)
            Loop While Not c Is Nothing And .Address <> firstAddress
        End With
    End If
    LastRow = Cells(Rows.Count, 6).End(xlUp).Row
      If Cells(LastRow, Столбец).Value = "ВСЕГО:" Then Exit Sub
        лист1.Cells(LastRow + 1, Столбец).Value = "ВСЕГО:"
      Лист2.Cells(LastRow + 1, Столбец + 1).FormulaLocal = "=СУММЕСЛИ(F1:F" & lLastRow & ";""Итого:"";G1:G" & lLastRow & ")"
      Лист2.Cells(LastRow + 1, Столбец + 2).FormulaLocal = "=СУММЕСЛИ(F1:F" & lLastRow & ";""Итого:"";H1:H" & lLastRow & ")"
      Лист2.Cells(LastRow + 1, Столбец + 3).FormulaLocal = "=СУММЕСЛИ(F1:F" & lLastRow & ";""Итого:"";I1:I" & lLastRow & ")"
      Лист2.Cells(LastRow + 1, Столбец + 4).FormulaLocal = "=СУММЕСЛИ(F1:F" & lLastRow & ";""Итого:"";J1:J" & lLastRow & ")"
      Лист2.Cells(LastRow + 1, Столбец + 5).FormulaLocal = "=СУММЕСЛИ(F1:F" & lLastRow & ";""Итого:"";K1:K" & lLastRow & ")"
      Лист2.Cells(LastRow + 1, Столбец + 6).FormulaLocal = "=СУММЕСЛИ(F1:F" & lLastRow & ";""Итого:"";L1:L" & lLastRow & ")"
End Sub

короче говоря, Господа и Дамы, хелп. не понимаю как данную конструкцию переписать так, чтобы удовлетворяла условиям Вероники. оно меняет вообще все наглухо. причем не корректно от слова "вообще" а нужно, чтобы переписывалась только последующая строка с "ИТОГО:" ЗЫ при замене вообще всего формула копируется из первой строки. мне опыта не хватает, чтобы это прописать как нужно. ну или мозгов...
тема к которой относится -https://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=1&TID=170394&TITLE_SEO=170394-vnutritablichnye-itogi  файл ниже.
Изменено: DerToDD - 03.04.2025 22:41:26
Господа, форум жесточайше тормозит.
 
из наблюдений, созданные темы начинают отображаться далеко не сразу,  и сейчас дал ответ (как всегда кривой))) Веронике Суворовой ну как сейчас))) почти час назад. но в топике до сих пор видно что писала только она. и это при том что ответил еще и Sanja. когдато был у меня форум. такая же проблема случилась из-за того что мускуль сожрал всю выделенную под него память на хосте. поэтому внимание, вопрос)) если проблема в том-же я готов скинуться на увеличение объема памяти. ибо учусь у вас. а за уроки, по хорошему, не плохо бы и заплатить. собственно вопрос куда скинуть, если поможет))
Изменено: Евгений Паршутин - 18.03.2025 13:22:39
Округление чисел либо до целого, либо до *,5 вба
 
И снова здравствуйте, подскажите плс как реализовать округление.
Код
Public intNom_pol As Integer
Public douKo As Double
Public objNompol1 As Object
Public objNompol2 As Object
' переменные задаются OptionButton. в объектных переменных текстбоксы.
Private Sub CommandButton1_Click()
Dim lonSumm As Long, lonMin As Long
lonSumm = (Val(objNompol1.Value) + Val(objNompol2.Value)) / 2
lonMin = Val(objNompol1.Value) - Val(objNompol2.Value)
douKo = CDbl(Format(Abs(lonMin / lonSumm * 100), "#,#0.0"))
Лист1.ComboBox4.Value = dabKo
End Sub



такой код работает,  но есть одно но, точность . проблема в том, что это расчет шага для устройств пбв. а там число может быть либо целым, либо дробным, но обязательно с 5ю десятыми. не могу понять как округлить с такими критериями. т.к. есть варианты когда на выходе округляется, например, до 4,9.


P.S. Ткнуть меня лицом в кривизну кода как всегда приветствуется))
Изменено: Евгений Паршутин - 18.03.2025 12:10:03 (End Sub не туда написал)) несколько раз))))
защита от макросов при первом открытии скачанного файла, когда мелкософт ее изменил??
 
вопрос конечно тот еще :D  но мне нужно прикрутить к файлу инструкцию по включению макросов. Но есть один нюанс))),  как говорил Петьке Василий Иванович)). Я сам прыгнул через пару версий экселя. И понятия не имею когда у них разрешение на запуск макросов поменялось с обычного "да" при открытии книги, на необходимость лезть в свойства файла и там разрешать, ну а потом еще и стандартненько в экселе))) подскажите плс с какой версии они ввели этот бред?))
Изменено: Евгений Паршутин - 14.03.2025 01:06:30
проблема с добавлением контрола PDF Reader в тулбокс
 
И снова здравствуйте. вроде по теме все просто должно быть, но столкнулся с неприятной проблемой. При добавлении контрола в тулбокс адрес, на мой взгляд, не корректный. Второй и третий скрины это то, что из этого вытекает. Кто-нибудь сталкивался?? не знаете как лечить??
Изменено: Евгений Паршутин - 12.03.2025 16:12:11 (изменил название темы)
ошибки молодости. Точнее неопытности)))
 
Господа, я тут сделал фатальную ошибку с актив икс на листе, привязянными к нескольким ячейкам. Если конкретнее, то при коде прописанном на конкретные ячейки допер добавить пару строк В ТАБЛИЦУ выше.В результате весь макрос пошел по тому самому месту))) можно плс вопрос??, кто по неопытности делал также, и как боролись с этой напастью?)))
установка OptionButton при открытии книги.
 
Снова здравствуйте, уважаемые. все клепаю свою табличку на макросах, заодно учусь)) столкнулся с неприятной проблемкой. есть макрос который по двум переменным определяет в какие ячейки записывать определенное значение(значение тоже зависит от переменных). ну как, почти дописанный макрос.  переменные назначаются OptionButton. вот тут и выползла неприятность. т.к. при открытии книги, если OptionButton и так уже стояли в нужном положении макрос работает. но выводит значение 0 в заданные ячейки. путем не долгих копаний понял что хоть OptionButton и установлены, но значение переменных =0, т.к. не назначалось. Есть ли вариант  программно воткнуть точки куда надо ( ну или просто куда-нибудь в пределах группы ) при открытии книги, с учетом того что и OptionButton на листе, и весь код в модуле листа??   и это не судите строго. поиском пользовался видать не правильно ищу.
Изменено: Евгений Паршутин - 03.03.2025 20:35:11
Проблема с OptionButton
 
Здравствуйте, опять бегу за советом к гуру)) есть простенький код.
Код
Private Sub OptionButton7_Click()
Rows(2).Hidden = False
Rows(6).Hidden = True
OptionButton1.Visible = 1
OptionButton2.Visible = 1
OptionButton3.Visible = 1
OptionButton4.Visible = 1
OptionButton5.Visible = 1
OptionButton6.Visible = 1
End Sub

Private Sub OptionButton8_Click()
Rows(2).Hidden = True
Rows(6).Hidden = False
OptionButton1.Visible = 0
OptionButton2.Visible = 0
OptionButton3.Visible = 0
OptionButton4.Visible = 0
OptionButton5.Visible = 0
OptionButton6.Visible = 0

End Sub

2 OptionButton одна скрывает строку с такими же OptionButton, и их самих, вторая показывает.  
Работает, одно но... после появления, или после открытия книги OptionButton с 1 по 6 становятся, как-бы это сказать не кликабельными. то-есть  хоть укликайся точка не переезжает. проблема решается переходом в режим конструктора, и легким перемещением OptionButton. только как-бы это не решение.  Подскажите куда копать??
Изменено: Евгений Паршутин - 26.02.2025 19:10:22 (кусок кода, и так уже удаленный случайно оставил. фаил походу тоже в старой версии скинул, но там интересующая часть не тронута.)
Запуск макроса по активации листа, в сочитании с защитой книги
 
И снова здравствуйте господа, возникла проблемка. как решить не понимаю, т.к. только учусь. есть 2 макроса, один стоит на активацию листа и заполняет комбобокс  
Код
Private Sub Worksheet_Activate()
Dim s&
aCountry = Лист4.ListObjects("Заводы").DataBodyRange.Columns(3).Value


ComboBox1.MatchEntry = fmMatchEntryNone
With Лист1
    s = .Cells(Rows.Count, 2).End(xlUp).Row
   ComboBox1.List = aCountry
End With
End Sub

честно слизан с ваших примеров)), даже название переменной не менял.
второй защищает книгу от изменения руками, опять же, подсмотрен тут...
Код
Private Sub Workbook_Open()
 Dim wsSh As Object
    For Each wsSh In Me.Sheets
        Protect_for_User_Non_for_VBA wsSh
    Next wsSh
End Sub
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
    wsSh.Protect Password:="1234", UserInterfaceOnly:=True 'при копировании убедится что стоит русская раскладка
End Sub

по отдельности работают отлично, а вот вместе...  данные перестают подтягиваться в комбобокс, точнее подтянуть можно, но надо лезть в вба, и запускать в ручную. не подскажите где я накосячил??
Запуск макроса по клику на ячейку, с ожиданием ее заполнения
 
Здравствуйте уважаемые. я задумал макрос, который будет брать данные из ячейки проводить с ними простейшие вычисления и вносить результат в туже ячейку, то есть брать введенное число из ячейки А1, скажем умножать его на 3, и получившиеся значение записывает обратно в А1. макрос простенький, с ним проблем не будет, а вот способ запуска, это интересно. Боюсь не получится ли у меня бесконечный цикл если пускать его по событию из ячейки А1??  и к сожалению ячеек с такой штукой будет много, поэтому прикручивать запуск на кнопку не вариант, а то одни кнопки вместо листа будут) подумав как это вообще провернуть, задумался а нельзя ли после запуска макроса по клику на ячейку сделать паузу до заполнения ячейки и перехода на другую?? а если можно подскажите плс какс примером сорри, еще не делал. да и если действительно в цикл пойдет, врят-ли вы мне спасибо скажите))
Страницы: 1
Наверх