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

Страницы: 1
Вакансия, Вакансия
 
Приветствую, информирую, что есть вакансия на hh.ru/vacancy/54630081 Ростелеком. Официальное трудоустройство. Можно будет работать удаленно, но обязательно присутствовать "онлайн" с 09 до 18:00 на рабочем удаленном месте. Совмещать не получится. Требования: знание и умение использовать все объекты VBA, минимальные знания SQL. Необходимо откликнуться на вакансию, попросить тестовое задание (SQL+VBA)(VBA в приоритете, SQL-второстепенно). Задание на VBA выполнить преимущественно без использования Range, Cells и WorksheetFunction (по времени может занять 1-1,5 дня). Информация актуальна до 16.04.2022. На рабочем месте планируется до 50% времени поддержки старых чужих макросов на VBA. Будут рассмотрены варианты полной удаленки, но преимущественно, желательна привязка к любому крупному городу, где есть Ростелеком. 06.04.2022 вакансия была переопубликована. Скорректировал адрес на актуальный.
Изменено: Ves - 16.04.2022 21:12:04
Вакансия VBA-разработчик, актуально до 31.12.2020
 
Привет, коллеги. просто информирую, может кому будет полезно, есть вакансия на hh ру /vacancy/40644156 Официальное трудоустройство. Ориентир ЗП = 50 -13% +премии. Желательно жить в Воронеже или НН или ЕКБ, но будут рассмотрены все кандидаты. Можно будет работать удаленно, но обязательно присутствовать "онлайн" с 09 до 18:00 на рабочем удаленном месте. схитрить или совмещать не получится. Требования: опыт от 3х лет разработки.
Скрыть кнопку "Удалить лист" из панели инструментов
 
Добрый день, форумчане!
При написании макроса (Excel 2016)пытаюсь сделать запрет на удаление листов. Необходимо сделать простую защиту от неопытного пользователя.
"Рецензирование" -> "Защитить книгу" пока что(временно) не рассматриваю, так как файл автоматически потом будет обрабатываться другими многими макросами, которые будут добавлять/удалять листы.
Согласно ТЗ нужно просто убрать кнопки удаления листов. Для списка из ПКМ по ярлыку листа - легко - убрал:
Код
Application.CommandBars("Ply").Enabled = False

а для ленты: Главная -> Удалить -> Удалить лист

Код
Application.CommandBars("Worksheet Menu Bar").Controls("&Правка").Controls("Удалит&ь лист").Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("&Правка").Controls("Удалит&ь лист").Visible = False
Application.CommandBars("Worksheet Menu Bar").Controls("Фор&мат").Enabled = False

не получается :-(    и так тоже не получается

Код
For Each iCommandBar In Application.CommandBars
     iCommandBar.Enabled = False
Next

        Необходимо именно скрыть кнопку "Удалить - Удалить лист" из ленты. Другие темы читал - не получилось. Просьба помочь!

 

Изменено: Ves - 05.02.2020 14:56:07
Работа в Воронеже, программист VBA(Visual basic for applications), Требуется программист для написания макросов.
 
Добрый день! В крупную компанию в г. Воронеж (Левый берег) требуется программист для написания макросов. Зарплата 40тыс.р. + премии. Зарплата белая, на карту. Официальное трудоустройство с первого дня. Испытательный срок = 3 мес. Требования: Продвинутый уровень написания макросов(знание всех объектов программирования). Умение обращаться к WORD, Excel -> Access, Access -> Excel, Web-страницам. Знание SQL запросов. Из очень приятных бонусов: на работе не задерживаемся Объявление актуально на Апрель_2019г. Если Вас тема не интересует, но знаете подходящего кандидата - посоветуйте.
Изменено: Ves - 24.09.2019 23:30:57
Ошибка эксель. Автоматическая прорисовка границ., При активации ячейки ошибочно появляются границы строк и ячейки
 
Добрый день, коллеги и единомышленники!

Столкнулся с проблемой у себя на работе, на рабочем компе (Excel 2016, 64 bit) при активации ячейки автоматически появляются границы ячейки и строк! Условного форматирования на листе нет(и в книге нет, других открытых файлов нет), все макросы из личной книги макросов удалил. Событий на изменение точно нет, даже просто создаю новую книгу активирую любую ячейку - отображаются(появляются) границы ячейки и строки! DisplayAlerts и ScreenUpdating у меня все True! Если работаю дома(Excel 2010, 32 bit) с файлом, то все норм. Ошибка появилась, когда какой-то макрос выполнился недоконца, и, возможно DisplayAlerts и ScreenUpdating у меня остались в значениии False. Затем, произошел следующий глюк: когда я перезашел в модули проекта(модулей штук 14 было) VBA они поменяли свое наименование(отобразились правильно). Я перезагрузился. А глюк с появлением границ остался. Кстати, если активировать новый лист и потом опять вернуться на исходный, то все ячейки листа становятся без границ. Может кто знает в чем причина такого поведения Эксель ?
Диалоговое окно загрузки файла блокирует выполнение кода vba.
 
Хочу на почту @yandex.ru через vba загрузить .pdf файл, нажимаю "Обзор" -> появляется диалоговое окно выбора файла и код vba перестает выполняться, потому что программа ждет ответа пользователя, когда я сам вручную выберу файл для загрузки. А я хочу через vba в диалоговом окне выбора файла (отловив окно через hwnd)написать имя файла(скорее полный путь+имя файла) и нажать кнопку открыть. Но не знаю как(написать имя файла для загрузки и нажать на кнопку открыть).  
Код
Sub Загрузить_документ()

   Dim i, i1, j, k
 Dim Shell As Object
   Dim Wins As Object
   Dim WinItem As Variant
   Dim objCollection As Object
   Dim cnt
   Dim Doc As Object 'InternetExplorer
  

  SiteURL = "https://mail.yandex.ru/?uid=23207361&login=<мой логин>#compose"
   Set Shell = CreateObject("shell.application")  

   cnt = 0
   For Each WinItem In Shell.Windows
      If WinItem.LocationURL Like Left(SiteURL, 30) & "*" Then        
        Set Doc = Shell.Windows(cnt).document
        Exit For
      End If
          cnt = cnt + 1
  Next
  
 
For i = 0 To Doc.getelementsbytagname("label").Length - 1
If Doc.getelementsbytagname("label")(i).Title = "Прикрепить файлы с компьютера" Then
    Doc.getelementsbytagname("label")(i).Click  'после клика появляется диалоговое окно выбора файла
    SendKeys "проверяю пишется ли у меня название файла", True  ' не пишется, диалоговое окно выбора файла заблокировало выполнение кода, пока я ручками не выберу файл
    SendKeys "{ENTER}", True
    
' также естественно макрос не доходит до строк ниже

 hwnd = poiskokna("Выбор выкладываемого файла") 
    Do While (hwnd = 0 And countIter < 60)
        hwnd = poiskokna("Выбор выкладываемого файла")       
        countIter = countIter + 1
    Loop

    MsgBox "все ок"
End If
Next i

End Sub

' ниже подфункция поиска окна по названию окна
Public Function poiskokna(TitleFind As String) As Long
    Dim winTitle As String * 256, cnt As Long, hwnd As Long
    Const GW_HWNDNEXT = 2
    Const GW_CHILD = 5
        hwnd = GetDesktopWindow&
        hwnd = GetWindow(hwnd, GW_CHILD)
        Do While hwnd <> 0
            cnt = GetWindowText(hwnd, winTitle, 255)
            If InStr(1, winTitle, TitleFind) > 0 Then
                poiskokna = hwnd
                Exit Do
            End If
            hwnd = GetWindow(hwnd, GW_HWNDNEXT)
        Loop
End Function
Итак 2 вопроса:
1) как сделать, чтоб не прерывалось выполнение кода макроса при появлении диалогового окна выбора файла
2) когда я определю окно через hwnd, можно ли будет написать полный путь & имя файла не через sendkeys а как-нибудь по другому? (и потом нажать энтер тоже не через sendkeys?)
Помогите, пожалуйста!
Изменено: Ves - 25.03.2017 20:49:24
Как определить лист, куда я вставляю результат, если ячейка для вывода введена через inputBox?
 
Добрый день, форумчане!

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

Я каждый раз результат макроса вставляю на разный лист. Но мне хотелось бы итог определенным образом доработать, но я не могу автоматически определить куда же я вставил результат ! ((( Через inputbox ячейка Viv на новом листе не активируется, Viv.Activate и Viv.Select тоже не получается. Мне приходится заранее переименовывать листы и на определенные листы вставлять результат. Но подскажите, как я могу автоматически определить наименование листа ячейки Viv или активировать эту ячейку? (Viv - всегда указываю ячейку нового неактивного листа).Заранее спасибо!

Код
Sub Как_определить_лист_куда_я_вставил_результат()

Dim Rng, Viv As Range
Dim i, i1, i2, i3, i4 As Long
Dim arr() As Variant
Dim simv, s, s1 As String
  Set Rng = Range("A1:A10")
arr() = Rng.value

'  что-нибудь делаю с массивом
 ' и затем вывожу результат каждый раз на разный лист!!!!

  Set Viv = Application.InputBox("Введите ячейку, куда вставлять результат", Type:=8)
Viv.Resize(UBound(arr()), UBound(arr(), 2)) = arr()
End Sub

Изменено: Ves - 02.11.2016 00:02:30
Фильтры в срезах сводной таблицы и "счетесли" в сводной таблице, посчитать количество уникальных ФИО в каждом городе
 
Не проходите мимо, подскажите! как посчитать в сводной таблице количество уникальных ФИО в каждом городе не добавляя дополнительный столбец в исходной таблице и как получить данные по городам с днями > 10 ?(см. вложение).
Обычно по первому вопросу я в исходной таблице(Лист 1) добавляю дополнительный столбец и пишу формулу счетчика, затем все дубли,(то есть значения >1) удаляю и у меня как раз остаются необходимые уникальные фио(единицы напротив уникальных фио) для каждого города.
Вопрос№1: можно ли делать это все как-нибудь удобно в сводной таблице(не трогая исходник)?.

По второму моменту я обычно добавляю в Исходнике дополнительный столбец, фильтрую данные и в новом столбце прописываю, что по  фильтру значения >10 дней, все остальные строки <10 дней. По сути мне нужен  СРЕЗ по дням с возможностью не только выбора отдельных значений, а отбора по сложным условиям ">" и/или "<" (а в срезе такого нет, (или я не знаю)).
Вопрос№2: подскажите, как можно оперативно фильтровать в Сводной таблице значения по условию > и < определенного количества дней(или усовершенствовать срез для фильтра условий > и < )
Excel 2010.
Заранее спасибо!
Изменено: Ves - 10.07.2016 01:27:36
Список дублей из столбца (или диапазона)
 
Добрый день! Мне необходимо функцией vba извлечь дубликаты из списка(столбца). (можно и макросом (Sub), но я не знаю, как универсально указать место(ячейку) для вывода результата... (адрес ячейки для вывода результата всегда разный), поэтому хочу использовать Function. Я написал вот такую программку

Код
Function Список_Дублей_1(Rng1 As Range) As Variant
Dim i As Long, j As Long
Dim a As Variant    
Dim k, x, n, ind As Long    
Dim Arr(1 To 50) As String j = 1       
     For i = 1 To Rng1.Rows.Count           
     k = Application.WorksheetFunction.CountIf(Rng1, Rng1.Cells(i, 1))           
         If k > 1 Then           
         Arr(j) = Rng1.Cells(i, 1)           
         j = j + 1           
         End If       
Next i        
Список_Дублей_1 = Application.WorksheetFunction.Transpose(Arr())
End Function
Но моя функция выдает список дублей с оригиналом. В приложенном файле я хотел бы получить результат в виде списка
Код
7434175
7448800
7448800 
а не
Код
7434175
7434175
7448800
7448800
7448800
Я понимаю, что вместо  
Цитата
k = Application.WorksheetFunction.CountIf(Rng1, Rng1.Cells(i, 1))

надо написать аналог счётесли(A$1$:А1;А1) > 1 то..... что-то типа

k = Application.WorksheetFunction.CountIf((Rng1.Cells(1,1):Rng1.Cells(i,1)), Rng1.Cells(i, 1))  (хочу просматривать универсальный диапазон, который всегда в разных местах. или еще мой предполагаемый вариант который не работает)

k = Application.WorksheetFunction.CountIf((Rng1.Cells(i,1).End(xlUp),Rng1.Cells(i, 1)

Помогите, пожалуйста, написать правильно и универсально! p.s. коллекции и мн. др. я пока не понимаю, хотелось бы увидеть решение на понятном мне уровне))

И еще, подскажите, почему, если я хочу сделать
redim Arr(1 to Rng1.Rows.Count),.. да даже redim Arr(1 to 100), то программа на меня ругается, выделяя желтым цветом первую строчку

Код
Function Список_Дублей_1(Rng1 As Range) As Variant
Страницы: 1
Наверх