Добрый день, есть задача оптимизировать журнал входящей/исходящей корреспонденции небольшой компании. Суть в том, что есть несколько Юридических лиц - они вносятся в столбец В выбором из списка. При этом по макросу проставляется дата и время регистрации в столбце С. Для каждого ЮрЛица уже давно присвоен свой код регистрации в соответствии с названием, в котором так-же закодирован месяц и год - например письмо в адрес ООО Рога и Копыта, которое пришло 19.09.2017г. имело бы вх.№ РК/09/17/06 от 19.09.2017г., где РК = Рога и Копыта, 09 = сентябрь, 17 = 2017 год, а 06 - порядковый номер входящего именно по этому Юр.Лицу (значит за Сентябрь в эту компанию поступило 5 писем, это шестое) Внимание, вопрос! Как сделать так, чтобы при выборе Юр.Лицав столбце В, в столбце С проставлялась бы дата, а в столбце D - регистрационный номер, соответствующий Юр.Лицу, месяцу, году и порядковому номеру? Сам файл во вложении, заранее спасибо
Добрый день, есть задача оптимизировать журнал входящей/исходящей корреспонденции небольшой компании. Суть в том, что есть несколько Юридических лиц - они вносятся в столбец В выбором из списка. При этом по макросу проставляется дата и время регистрации в столбце С. Для каждого ЮрЛица уже давно присвоен свой код регистрации в соответствии с названием, в котором так-же закодирован месяц и год - например письмо в адрес ООО Рога и Копыта, которое пришло 19.09.2017г. имело бы вх.№ РК/09/17/06 от 19.09.2017г., где РК = Рога и Копыта, 09 = сентябрь, 17 = 2017 год, а 06 - порядковый номер входящего именно по этому Юр.Лицу (значит за Сентябрь в эту компанию поступило 5 писем, это шестое) Внимание, вопрос! Как сделать так, чтобы при выборе Юр.Лицав столбце В, в столбце С проставлялась бы дата, а в столбце D - регистрационный номер, соответствующий Юр.Лицу, месяцу, году и порядковому номеру? Сам файл во вложении, заранее спасибоkhatunio
В столбце С уже и так проставляется. Или нужна дата без времени? В столбце D чтобы работало, нужен список соответствия полного наименования организации и краткого В общем, так нужно? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim d0_ As Range, d_ As Range Set d0_ = Intersect(Target, Range("B:B")) If Not d0_ Is Nothing Then Application.ScreenUpdating = 0 For Each d_ In d0_ With d_ If .Value = "" Then .Offset(, 1).Resize(1, 2).ClearContents Else .Offset(, 1) = Date t1_ = WorksheetFunction.VLookup(.Value, [орг], 2, 0) t2_ = Format(Date, "\/MM\/YY\/") t3_ = Format(WorksheetFunction.CountIf(Range("B:B"), .Value), "00") .Offset(, 2) = t1_ & t2_ & t3_ End If End With Next d_ Range("C1:D1").EntireColumn.AutoFit Application.ScreenUpdating = 1 End If End Sub
[/vba] "орг" - это имя, посмотреть можно через Контрл F3
В столбце С уже и так проставляется. Или нужна дата без времени? В столбце D чтобы работало, нужен список соответствия полного наименования организации и краткого В общем, так нужно? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Dim d0_ As Range, d_ As Range Set d0_ = Intersect(Target, Range("B:B")) If Not d0_ Is Nothing Then Application.ScreenUpdating = 0 For Each d_ In d0_ With d_ If .Value = "" Then .Offset(, 1).Resize(1, 2).ClearContents Else .Offset(, 1) = Date t1_ = WorksheetFunction.VLookup(.Value, [орг], 2, 0) t2_ = Format(Date, "\/MM\/YY\/") t3_ = Format(WorksheetFunction.CountIf(Range("B:B"), .Value), "00") .Offset(, 2) = t1_ & t2_ & t3_ End If End With Next d_ Range("C1:D1").EntireColumn.AutoFit Application.ScreenUpdating = 1 End If End Sub
[/vba] "орг" - это имя, посмотреть можно через Контрл F3_Boroda_
Спасибо Соответствие проставила справа - ЮЛ - напротив - сокращение Прошу обратить внимание, что последний номер - порядковый только для одного ЮрЛица, а не по всем
Спасибо Соответствие проставила справа - ЮЛ - напротив - сокращение Прошу обратить внимание, что последний номер - порядковый только для одного ЮрЛица, а не по всемkhatunio