Добрый день. Не могу в толк взять почему у меня макрос ругается на функцию "Отслеживание исправлений"? Помогите разобраться. По разному пробывал... И методом иключения, и удалением наиболее (по моему мнению) "несовместимых"... не получается... А ведь такая удобна штука...=)
Добрый день. Не могу в толк взять почему у меня макрос ругается на функцию "Отслеживание исправлений"? Помогите разобраться. По разному пробывал... И методом иключения, и удалением наиболее (по моему мнению) "несовместимых"... не получается... А ведь такая удобна штука...=)QwertyBoss
И почему у меня не ругается? Знаю! Ее ни в одном из 15 пустых модулей нет! QwertyBoss, погляжу еще один ваш файл. Но если в нем будет больше 1 модуля, имеющего отношение к вопросу, это будет последний просмотр.
И почему у меня не ругается? Знаю! Ее ни в одном из 15 пустых модулей нет! QwertyBoss, погляжу еще один ваш файл. Но если в нем будет больше 1 модуля, имеющего отношение к вопросу, это будет последний просмотр.RAN
Так я её эту стандартную функцию с панели управления запускаю... с рецензирования, я ни в какой модуль ничего не всшивал...=(. Изв. что не уточнил,что-то каак то вылетело из головы. На будущее, буду иметь ввиду. Ну хоть модули поудалял...
Так я её эту стандартную функцию с панели управления запускаю... с рецензирования, я ни в какой модуль ничего не всшивал...=(. Изв. что не уточнил,что-то каак то вылетело из головы. На будущее, буду иметь ввиду. Ну хоть модули поудалял...QwertyBoss
Сообщение отредактировал QwertyBoss - Суббота, 26.12.2015, 09:14
RAN подсказал отличную идею. Нашёл отличный макрос... (во второй половине). Не могу указать рабочий диапазон. Подскажите плз. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Range("G:G"), Target) Is Nothing Then Else Exit Sub Dim a Application.EnableEvents = 0 a = Target.Value Application.Undo If Target > a Then MsgBox "НВЕРНО!!! ПОДКОРРЕКТИРУЙТЕ ПРОЦЕНТЫ" Else Target = a End If 'If Target = 1 And Target.Offset(, 1) = 0 Then If Target = 1 Then Target.Offset(, 1).Select MsgBox "Поставьте дату окончания работы" End If Application.EnableEvents = -1
' как прописать диапазон колонок "В:H" Dim oComment As Comment On Error Resume Next Set oComment = Target.Comment If oComment Is Nothing Then Set oComment = Target.AddComment(Target.Text & " " & Format(Now, "dd.mm.yy HH:MM")) Else oComment.Text oComment.Text & Chr(10) & Target.Text & " " & Format(Now, "dd.mm.yy HH:MM") oComment.Shape.TextFrame.AutoSize = True End If
End Sub
[/vba]
RAN подсказал отличную идею. Нашёл отличный макрос... (во второй половине). Не могу указать рабочий диапазон. Подскажите плз. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Range("G:G"), Target) Is Nothing Then Else Exit Sub Dim a Application.EnableEvents = 0 a = Target.Value Application.Undo If Target > a Then MsgBox "НВЕРНО!!! ПОДКОРРЕКТИРУЙТЕ ПРОЦЕНТЫ" Else Target = a End If 'If Target = 1 And Target.Offset(, 1) = 0 Then If Target = 1 Then Target.Offset(, 1).Select MsgBox "Поставьте дату окончания работы" End If Application.EnableEvents = -1
' как прописать диапазон колонок "В:H" Dim oComment As Comment On Error Resume Next Set oComment = Target.Comment If oComment Is Nothing Then Set oComment = Target.AddComment(Target.Text & " " & Format(Now, "dd.mm.yy HH:MM")) Else oComment.Text oComment.Text & Chr(10) & Target.Text & " " & Format(Now, "dd.mm.yy HH:MM") oComment.Shape.TextFrame.AutoSize = True End If
То что в дело в Range("G:G") эт я понял, но я не могу соеденить два рабочих диапазоня , по отдельности для каждого дейстаия. Т.е. Range("G:G") это для верней части кода, "В:H" для нижней части. Пробывал подобием, но пулучилась кракозябра, пробывал подставить В:H вместо G:G - не устраивает... Не то.
То что в дело в Range("G:G") эт я понял, но я не могу соеденить два рабочих диапазоня , по отдельности для каждого дейстаия. Т.е. Range("G:G") это для верней части кода, "В:H" для нижней части. Пробывал подобием, но пулучилась кракозябра, пробывал подставить В:H вместо G:G - не устраивает... Не то.QwertyBoss
То, чо на любое изменение в диапазоне "В:H" , будут сообщения MsgBox "НВЕРНО!!! ПОДКОРРЕКТИРУЙТЕ ПРОЦЕНТЫ", MsgBox "Поставьте дату окончания работы" и условия, а это никак не относится к ячейкам "В:Е". Как то так... =( Если только ... указать что меняются только числа. Надо подумать...
Цитата
Что "не то"?
То, чо на любое изменение в диапазоне "В:H" , будут сообщения MsgBox "НВЕРНО!!! ПОДКОРРЕКТИРУЙТЕ ПРОЦЕНТЫ", MsgBox "Поставьте дату окончания работы" и условия, а это никак не относится к ячейкам "В:Е". Как то так... =( Если только ... указать что меняются только числа. Надо подумать...QwertyBoss
Сообщение отредактировал QwertyBoss - Суббота, 26.12.2015, 17:04
Да без проблем. Вот объясните мне, дремучему, как вы это неправильно написать умудряетесь? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Range("G:G"), Target) Is Nothing Then Dim a Application.EnableEvents = 0 a = Target.Value Application.Undo If Target > a Then MsgBox "НВЕРНО!!! ПОДКОРРЕКТИРУЙТЕ ПРОЦЕНТЫ" Else Target = a End If 'If Target = 1 And Target.Offset(, 1) = 0 Then If Target = 1 Then Target.Offset(, 1).Select MsgBox "Поставьте дату окончания работы" End If Application.EnableEvents = -1 end if If Not Application.Intersect(Range("B:H"), Target) Is Nothing Then ' как прописать диапазон колонок "В:H" Dim oComment As Comment On Error Resume Next Set oComment = Target.Comment If oComment Is Nothing Then Set oComment = Target.AddComment(Target.Text & " " & Format(Now, "dd.mm.yy HH:MM")) Else oComment.Text oComment.Text & Chr(10) & Target.Text & " " & Format(Now, "dd.mm.yy HH:MM") oComment.Shape.TextFrame.AutoSize = True End If end if End Sub
[/vba]
Да без проблем. Вот объясните мне, дремучему, как вы это неправильно написать умудряетесь? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Application.Intersect(Range("G:G"), Target) Is Nothing Then Dim a Application.EnableEvents = 0 a = Target.Value Application.Undo If Target > a Then MsgBox "НВЕРНО!!! ПОДКОРРЕКТИРУЙТЕ ПРОЦЕНТЫ" Else Target = a End If 'If Target = 1 And Target.Offset(, 1) = 0 Then If Target = 1 Then Target.Offset(, 1).Select MsgBox "Поставьте дату окончания работы" End If Application.EnableEvents = -1 end if If Not Application.Intersect(Range("B:H"), Target) Is Nothing Then ' как прописать диапазон колонок "В:H" Dim oComment As Comment On Error Resume Next Set oComment = Target.Comment If oComment Is Nothing Then Set oComment = Target.AddComment(Target.Text & " " & Format(Now, "dd.mm.yy HH:MM")) Else oComment.Text oComment.Text & Chr(10) & Target.Text & " " & Format(Now, "dd.mm.yy HH:MM") oComment.Shape.TextFrame.AutoSize = True End If end if End Sub
Всё получилось. спс. Вам. Объясните, почему когда выбираешь "рецензирование" (на панеле быстр.доступа) - исправления - отслеживать исправления - предлагает сохраниться и ... ВСЁ!!! Предупреждение выскакивает "В книге содержатся макросы, написанные на visual basic. Изменить или посмотреть макросы в файлах совместного доступа невозможно". VBA Project is unviewable. Разблокировать не получается. Ни один макрос не работает. ЧТО ЭТО?
Всё получилось. спс. Вам. Объясните, почему когда выбираешь "рецензирование" (на панеле быстр.доступа) - исправления - отслеживать исправления - предлагает сохраниться и ... ВСЁ!!! Предупреждение выскакивает "В книге содержатся макросы, написанные на visual basic. Изменить или посмотреть макросы в файлах совместного доступа невозможно". VBA Project is unviewable. Разблокировать не получается. Ни один макрос не работает. ЧТО ЭТО? QwertyBoss
Сообщение отредактировал QwertyBoss - Воскресенье, 27.12.2015, 07:08