Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Есть желание избавится от индикатора примечания - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Есть желание избавится от индикатора примечания (Макросы/Sub)
Есть желание избавится от индикатора примечания
koyaanisqatsi Дата: Понедельник, 16.05.2016, 21:00 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.

Есть ли возможность писать лог в примечаниях этим кодом или модифицированным ?

[vba]
Код
Private s$
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oComment As Comment, un$
    On Error Resume Next
    Set oComment = Target.Comment
    un = WorksheetFunction.VLookup(GetUserName_3(2), Лист4.[A2:B999], 2, False)
    If oComment Is Nothing Then
        Set oComment = Target.AddComment(un & " " & Format(Now, "dd.mm.yy HH:MM") & ":" & Chr(10) & s & "-->>" & Target.Text)
        oComment.Shape.TextFrame.AutoSize = True
    Else
        oComment.Text oComment.Text & Chr(10) & un & " " & Format(Now, "dd.mm.yy HH:MM") & ":" & Chr(10) & s & "-->>" & Target.Text
        oComment.Shape.TextFrame.AutoSize = True
    End If
    
    
      Intersect(Columns("i"), Target(1)).Offset(, 1) = Now
    
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
s = Target.Cells(1, 1)
End Sub
[/vba]

только что-бы индикаторы не отображались или были белого цвета ?

в файле пароль пользователь 444 админ 555
К сообщению приложен файл: 5303621.xlsb(79Kb)
 
Ответить
СообщениеЗдравствуйте.

Есть ли возможность писать лог в примечаниях этим кодом или модифицированным ?

[vba]
Код
Private s$
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oComment As Comment, un$
    On Error Resume Next
    Set oComment = Target.Comment
    un = WorksheetFunction.VLookup(GetUserName_3(2), Лист4.[A2:B999], 2, False)
    If oComment Is Nothing Then
        Set oComment = Target.AddComment(un & " " & Format(Now, "dd.mm.yy HH:MM") & ":" & Chr(10) & s & "-->>" & Target.Text)
        oComment.Shape.TextFrame.AutoSize = True
    Else
        oComment.Text oComment.Text & Chr(10) & un & " " & Format(Now, "dd.mm.yy HH:MM") & ":" & Chr(10) & s & "-->>" & Target.Text
        oComment.Shape.TextFrame.AutoSize = True
    End If
    
    
      Intersect(Columns("i"), Target(1)).Offset(, 1) = Now
    
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
s = Target.Cells(1, 1)
End Sub
[/vba]

только что-бы индикаторы не отображались или были белого цвета ?

в файле пароль пользователь 444 админ 555

Автор - koyaanisqatsi
Дата добавления - 16.05.2016 в 21:00
al-Ex Дата: Вторник, 17.05.2016, 00:28 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 147
Репутация: 53 ±
Замечаний: 20% ±

Excel 2010
что-бы индикаторы не отображались или были белого цвета
*но лучше хранить историю изменений на другом, скрытом листе, если действительно скрытность требуется.


Сообщение отредактировал al-Ex - Вторник, 17.05.2016, 01:14
 
Ответить
Сообщение
что-бы индикаторы не отображались или были белого цвета
*но лучше хранить историю изменений на другом, скрытом листе, если действительно скрытность требуется.

Автор - al-Ex
Дата добавления - 17.05.2016 в 00:28
Alex_ST Дата: Вторник, 17.05.2016, 08:54 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2896
Репутация: 505 ±
Замечаний: 0% ±

2003
ИМХО, не самая удачная мысль хранить лог в примечаниях...
Ведь каждое примечание - это объект Comment, член коллекции Shape. Короче - рисунок.
У вас очень быстро файл так распухнет от множества этих рисунков…
Да ещё и объекты Comment обладают гнусной привычкой самопроизвольно "оттягиваться" на стрелке-указке от своих ячеек далеко за границы экрана после проведения операций с ячейками (у меня даже в Personal есть специальный макрос, исправляющий положение примечаний).
В общем, реализуете свою идею, поработаете немного, замучаетесь и придётся переделывать.

Как вариант я бы, действительно, предложил хранить логи ячеек нужного листа на скрытом (или шибко скрытом :) ) листе.
Файл почти не "разжиреет". При этом можно достаточно легко реализовать повтор на скрытом листе операций с ячейками/столбцами/строками, проводимых на отслеживаемом листе. А именно такие операции чаще всего вызывают "разбегание" примечаний.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеИМХО, не самая удачная мысль хранить лог в примечаниях...
Ведь каждое примечание - это объект Comment, член коллекции Shape. Короче - рисунок.
У вас очень быстро файл так распухнет от множества этих рисунков…
Да ещё и объекты Comment обладают гнусной привычкой самопроизвольно "оттягиваться" на стрелке-указке от своих ячеек далеко за границы экрана после проведения операций с ячейками (у меня даже в Personal есть специальный макрос, исправляющий положение примечаний).
В общем, реализуете свою идею, поработаете немного, замучаетесь и придётся переделывать.

Как вариант я бы, действительно, предложил хранить логи ячеек нужного листа на скрытом (или шибко скрытом :) ) листе.
Файл почти не "разжиреет". При этом можно достаточно легко реализовать повтор на скрытом листе операций с ячейками/столбцами/строками, проводимых на отслеживаемом листе. А именно такие операции чаще всего вызывают "разбегание" примечаний.

Автор - Alex_ST
Дата добавления - 17.05.2016 в 08:54
koyaanisqatsi Дата: Вторник, 17.05.2016, 10:15 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
al-Ex, История не требует скрытности наоборот хочется прозрачности чтобы все могли видить но никто не мог изменить. Пока что эту историю можно менять. Это не правильно (((
 
Ответить
Сообщениеal-Ex, История не требует скрытности наоборот хочется прозрачности чтобы все могли видить но никто не мог изменить. Пока что эту историю можно менять. Это не правильно (((

Автор - koyaanisqatsi
Дата добавления - 17.05.2016 в 10:15
koyaanisqatsi Дата: Вторник, 17.05.2016, 10:16 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 610
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Alex_ST, На отдельном листе хорошая идея. Но я не знаю как это все реализовывается как смотреть историю чтобы было удобно. Пока попробую таким методом. А там видно будет.
 
Ответить
СообщениеAlex_ST, На отдельном листе хорошая идея. Но я не знаю как это все реализовывается как смотреть историю чтобы было удобно. Пока попробую таким методом. А там видно будет.

Автор - koyaanisqatsi
Дата добавления - 17.05.2016 в 10:16
Alex_ST Дата: Вторник, 17.05.2016, 12:02 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2896
Репутация: 505 ±
Замечаний: 0% ±

2003
Ну, пробуйте пока так.
А для борьбы со "съехавшими" примечаниями вот Вам презент из моей заначки:
[vba]
Код
Sub Починить_примечания()   'FixComm()
'---------------------------------------------------------------------------------------
' Procedure    : Починить_примечания() ' в оригинале - FixComm()
' Author       :
' Topic_HEADER : "Как настроить примечания ? "
' Topic_URL    : http://www.planetaexcel.ru/forum.php?thread_id=11528&page_forum=3&allnum_forum=66
' Post_Author  : Юрий М
' Post_URL     :
' DateTime     : 21.06.2010, 01:31
' Purpose      : восстановить нормальное положение "съехавших" примечаний на листе
' Notes        :
'---------------------------------------------------------------------------------------
   Dim iComment As Comment, A_Size As Boolean
   Select Case MsgBox("Включить у всех примечаний автоподбор размера?", vbYesNoCancel + vbQuestion, "Как настроить примечания?")
      Case vbCancel: Exit Sub
      Case vbYes: A_Size = True
      Case vbNo
   End Select
   For Each iComment In ActiveSheet.Comments
      With iComment.Parent
         iComment.Shape.Placement = xlMove
         If A_Size Then iComment.Shape.TextFrame.AutoSize = True
         iComment.Shape.Top = .Top - 10
         iComment.Shape.Left = .Left + .Width + 10
      End With
   Next
   MsgBox "Положения окон комментариев исправлены!", vbInformation, ""
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНу, пробуйте пока так.
А для борьбы со "съехавшими" примечаниями вот Вам презент из моей заначки:
[vba]
Код
Sub Починить_примечания()   'FixComm()
'---------------------------------------------------------------------------------------
' Procedure    : Починить_примечания() ' в оригинале - FixComm()
' Author       :
' Topic_HEADER : "Как настроить примечания ? "
' Topic_URL    : http://www.planetaexcel.ru/forum.php?thread_id=11528&page_forum=3&allnum_forum=66
' Post_Author  : Юрий М
' Post_URL     :
' DateTime     : 21.06.2010, 01:31
' Purpose      : восстановить нормальное положение "съехавших" примечаний на листе
' Notes        :
'---------------------------------------------------------------------------------------
   Dim iComment As Comment, A_Size As Boolean
   Select Case MsgBox("Включить у всех примечаний автоподбор размера?", vbYesNoCancel + vbQuestion, "Как настроить примечания?")
      Case vbCancel: Exit Sub
      Case vbYes: A_Size = True
      Case vbNo
   End Select
   For Each iComment In ActiveSheet.Comments
      With iComment.Parent
         iComment.Shape.Placement = xlMove
         If A_Size Then iComment.Shape.TextFrame.AutoSize = True
         iComment.Shape.Top = .Top - 10
         iComment.Shape.Left = .Left + .Width + 10
      End With
   Next
   MsgBox "Положения окон комментариев исправлены!", vbInformation, ""
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 17.05.2016 в 12:02
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Есть желание избавится от индикатора примечания (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!