Połączenie wielu komentarzy przy scaleniu komórek
by vbatools on Sep.26, 2011, under Excel, Porady
W przypadku kiedy chcemy połączyć wiele komórek, które mają wpisany komentarz, jesteśmy narażeni na utratę ich części.
Poniższe makro pobierze komentarze i połączy je w jeden z zachowaniem właściciela komentarza.
Option Explicit Sub AllComment_AfterMargeCells() 'MVP OShon from VBATools.pl Dim r As Range, coment As String, com As Comment, user$ For Each r In Selection On Error Resume Next If Len(r.Comment.Text) > 0 Then If InStr(1, r.Comment.Text, Chr(10)) > 0 Then user = Split(r.Comment.Text, Chr(10))(0) coment = coment + Mid(r.Comment.Text, _ InStr(1, r.Comment.Text, Chr(10))) Else coment = coment + r.Comment.Text End If coment = Replace(coment, Chr(10) & Chr(10), Chr(10)) End If Next r On Error GoTo 0 Application.DisplayAlerts = False Selection.Merge With ActiveCell On Error Resume Next .Comment.Delete On Error GoTo 0 .AddComment.Shape.SetShapesDefaultProperties .Comment.Text user & coment With .Comment.Shape.TextFrame .Characters(1, Len(coment & user)).Font.Bold = False .Characters(1, Len(user)).Font.Bold = True End With End With End Sub
Rys.1 Efekt przed i po zastosowaniu pow. kodu.
Polecamy zainteresowanym rozwiązanie w formie 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.