Страницы: 1
RSS
Макрос, на изменения названия книги
 
Добрый день, форумчане!
Нужна помощь. Дали задание, изменить макрос так, чтобы при сохранении, в имени новой книги в самом начале, указывался пол сотрудника.
Сам никак не могу доехать что нужно поменять, уже пробовал по разному, Либо получается ничего, либо макрос ломается.
Буду благодарен за помощь.
 
Дмитрий, самое просто это добавить доп столбец  пола и в макросе тогда все просто
Не бойтесь совершенства. Вам его не достичь.
 
То есть, добавляю столбец параметра, на определенную ячейку, и добавляю еще одну запись в словарь?
Код
rrow = 2

'столбец параметра
col = 3

'запись ключей в словарь
For Each cell In wb.ActiveSheet.Range(Cells(rrow, col), Cells(Rows.Count, col).End(xlUp))
    'ключ в словаре не найден/найден
    If dic.Exists(Application.Trim(LCase(cell.Value))) = False Then
            dic.Item(Application.Trim(LCase(cell.Value))) = cell.Row
        Else
            dic.Item(Application.Trim(LCase(cell.Value))) = CStr(dic.Item(Application.Trim(LCase(cell.Value)))) & ";" & cell.Row
    End If Next cell
Изменено: Дмитрий - 27.09.2020 22:16:00
 
Да, лучше создать отдельный столбец с М или Ж и оттуда брать значение перед сохранением.
Но для вашего примера можно и так - еcли фамилия заканчивается на "а", то это Ж (это конечно не всегда так), тогда
Код
'пол
Dim Sex as String 
If Right(Split(varKey)(0), 1) = "а" Then Sex = "Ж" Else Sex = "M" 
'сохранение 
nwb.SaveAs (wb.Path & "\" & Sex & " " & varKey & " " & Replace(Replace(varKey, "/", "_"), "\", "_") & "-" & Replace(Replace(wb.Name, ".xlsb", ".xlsx"), ".xlsm", ".xlsx"))

Изменено: New - 27.09.2020 22:07:44
 
Дмитрий, или как вариант так
Не бойтесь совершенства. Вам его не достичь.
 
и мой вариант с доп. столбцом, где прописаны М и Ж
 
Всегда найдётся фамилия, имя, отчество, по которым невозможно определить пол )
 
Предлагаю таких не брать на работу в офис )
P.S. поэтому лучше в отдельный столбец проставлять данные из паспорта - М или Ж )
Изменено: New - 27.09.2020 22:26:20
 
Mershik, New, Спасибо большое, оба варианта рабочие! Но на моем уровне мне пока понятнее, вариант Mershik, получается в словарь надо добавить итем на 1 столбец левее)  
 
Цитата
Юрий М написал:
Всегда найдётся фамилия, имя, отчество, по которым невозможно определить пол )
По отчеству пол определяется практически всегда. Другое дело, что не у всех есть отчество - тогда приходится ориентироваться на словарь имен. Для сочетаний, подобных "Мишель Легран", эта задача не решается.
Владимир
 
Цитата
sokol92 написал:
Мишель Легран
Эрих Мария Ремарк ))
 
Здесь нет отчества - двойное имя. Для выделения (традиционных) отчеств в русском языке можно использовать шаблоны для оператора Like:
  • "*[викмь]ич"
  • "*[илыч]"
  • "[вч]на"
В отчествах тюркского происхождения могут использоваться для женских:
  • гызы
  • кызы
  • кыс
для мужских
  • оглы
  • оглу
  • оол
Изменено: sokol92 - 28.09.2020 14:44:59
Владимир
Страницы: 1
Наверх