| Jak utworzyć spis komentarzy wraz z hiperłączami w danym pliku? |
|
Problem: W pliku znajduje się dużo komentarzy. Chciałbym aby w nowym arkuszu pojawiła się ich lista z podziałem na autora, wartość komórki, tekst komentarza. ![]() Rozwiązanie: Możesz skorzystać np. z takiego makra. Option Explicit Sub ListaKomentarzy() Dim wksArkusz As Worksheet Dim rngKomentarze As Range Dim rngKomentarz As Range Dim iLicznik As Integer 'Czysci arkusz z komentarzami With wksSpisKomentarzy .UsedRange.ClearContents With .Range("A1:E1") .Value = Array("Autor", "Arkusz", "Adres", "Wartość komórki", "Treść komentarza") .Font.Bold = True End With End With iLicznik = 1 'Petla po wszystkich arkuszach For Each wksArkusz In ThisWorkbook.Worksheets With wksArkusz On Error Resume Next Set rngKomentarze = .UsedRange.SpecialCells(Type:=xlComments) On Error GoTo 0 'Jezeli w arkuszu znajduja sie komentarze przepisz je If Not rngKomentarze Is Nothing Then For Each rngKomentarz In rngKomentarze iLicznik = iLicznik + 1 With wksSpisKomentarzy .Range("A" & iLicznik).Value = rngKomentarz.Comment.Author .Range("B" & iLicznik).Value = rngKomentarz.Parent.Name .Range("C" & iLicznik).Value = rngKomentarz.Address .Range("D" & iLicznik).Value = rngKomentarz.Value .Range("E" & iLicznik).Value = rngKomentarz.Comment.Text .Range("C" & iLicznik).Hyperlinks.Add Anchor:=.Range("C" & iLicznik), _ Address:="", _ SubAddress:=.Range("B" & iLicznik).Value & "!" & .Range("C" & iLicznik).Value, _ TextToDisplay:=.Range("C" & iLicznik).Value End With Next rngKomentarz Set rngKomentarze = Nothing End If End With Next wksArkusz 'Zamienia znak nowego wiersza na pusty wksSpisKomentarzy.Range("E:E").Replace What:=Chr(10), Replacement:="" End Sub |
|
| Zmieniony ( Czwartek, 01. Lipiec 2010 12:33 ) |
.jpg)