VBATools

Zamiana właściciela komentarza

by on May.26, 2011, under Excel, Porady

Chęć zmiany właściciela komentarza, jest procesem dość podejrzanym, jednakże w przypadku kiedy użytkujemy kilka jednostek zdarza się że przygotowany wcześniej materiał wypada u standaryzować. W przypadku kilku komentarzy edycja wpisanej przez automat nazwy użytkownika ręcznie jest uciążliwe, lecz możliwe. Lecz gdy ich jest już kilkanaście/kilkadziesiąt to praca taka bezsensownie się wydłuża.

W tym przypadku pomocny może być kod VBA, który sprawdzi czy jest wpisana informacja o użytkowniku i wycinając go wstawi aktualnie obowiązujący z zachowaniem jednakowego formatowania wpisu. Procedura odnosi się do wszystkich komentarzy wpisanych w aktywnym arkuszu.

XL_VBA_Zamiana_wlasciciela_komentarza

Rys.1 Zamiana przed i po wykonaniu poniższego kodu

Option Explicit

Sub Zamiana_wlasciciela_komentarzy()
'MVP OShon from VBATools.pl
 Dim tekst$, dlK&, pozDwu&
 Dim kom As Range, user$

 With Application
 user = .UserName
 .ScreenUpdating = False
 End With
 For Each kom In ThisWorkbook.Worksheets(ActiveSheet.Name).Range(Cells(1, 1), _
 Cells.SpecialCells(xlLastCell).Address)
 On Error Resume Next
 dlK = 0
 dlK = Len(kom.Comment.Text)
 tekst = kom.Comment.Text
 On Error GoTo 0

 If dlK = 0 Then GoTo dalej
 pozDwu = InStr(1, tekst, Chr(10))
 tekst = Mid(tekst, pozDwu + 1, Len(tekst) - pozDwu)
 With kom
 On Error Resume Next
 .Comment.Delete
 On Error GoTo 0
 .AddComment
 .Comment.Text Text:=user & ":" & Chr(10) & tekst
 .Comment.Shape.TextFrame.Characters(1, Len(user)+1).Font.Bold = True
 End With
dalej:
 Next kom
 Application.ScreenUpdating = True
End Sub

Zawarte tutaj udogodnienie zostało wdrożone w dodatku Zarządzanie komentarzami w Excelu

 

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
:, , , ,

Leave a Reply