Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mironov_gotovye_makrosy_v_vba_excel.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.41 Mб
Скачать

Подсчет количества примечаний_1

Sub CountOfComments()

Dim intCommentCount As Integer

' Получение и отображение количества примечаний

intCommentCount = ActiveSheet.Comments.Count

If intCommentCount = 0 Then

MsgBox "Текущая рабочая книга не содержит примечаний.", _

vbInformation

Else

MsgBox "В текущей рабочей книге содержится " & intCommentCount _

& " комментариев.", vbInformation

End If

End Sub

Подсчет количества примечаний_2

' Function IsCommentsPresent

' Возвращает TRUE, если на активном рабочем листе имеется хотя бы

' одна ячейка с комментарием, иначе возвращает FALSE

'

Public Function IsCommentsPresent() As Boolean

IsCommentsPresent = ( ActiveSheet.Comments.Count <> 0 )

End Function

Подсчет примечаний_3

Sub CountOfComment()

Dim intCommentCount As Integer

' Получение и отображение количества примечаний _

на текущем листе

intCommentCount = ActiveSheet.Comments.Count

If intCommentCount = 0 Then

MsgBox "Примечаний нет"

Else

MsgBox "Примечаний: " & intCommentCount & " шт."

End If

End Sub

Выделение ячеек с примечаниями

Sub SelectComments()

' Выделение всех ячеек с примечаниями

Cells.SpecialCells(xlCellTypeComments).Select

End Sub

Отображение всех примечаний

Sub ShowComments()

' Отображение всех примечаний

If Application.DisplayCommentIndicator = xlCommentAndIndicator Then

Application.DisplayCommentIndicator = xlCommentIndicatorOnly

Else

Application.DisplayCommentIndicator = xlCommentAndIndicator

End If

End Sub

Изменение цвета примечаний

Sub ChangeCommentColor()

' Автоматическое изменение цвета комментариев

Dim comment As comment

For Each comment In ActiveSheet.Comments

' Задаем случайные цвета заливки и шрифта комментариев

comment.Shape.Fill.ForeColor.SchemeColor = Int((80) * Rnd + 1)

comment.Shape.TextFrame.Characters.Font.ColorIndex = Int((56 _

) * Rnd + 1)

Next

End Sub

Добавление примечаний

Dim r As Range

Dim rwIndex As Integer

 

For rwIndex = 1 To 3

Set r = Worksheets("WombatBattingAverages").Cells(rwIndex, 2)

With r

If .Value >= 0.3 Then

.AddComment "All Star!"

End If

End With

Next rwIndex

Добавление примечаний в диапазон по условию

Sub CreateComments()

Dim cell As Range

' Производим поиск по всем ячейкам диапазона и добавляем примечания _

ко всем ячейкам, содержащим слово "Выручка"

For Each cell In Range("B1:B100")

If cell.Value Like "*Выручка*" Then

cell.ClearComments

cell.AddComment "Неучтенная наличка"

End If

Next

End Sub

Перенос комментария в ячейку и обратно

Sub Комментарий_в_ячейку_в_диапазоне()

'переносит комментарий в ячейку

Dim i As Long

Dim c As Range, cc As Range

Dim iCommment As Comments

Application.DisplayCommentIndicator = xlCommentIndicatorOnly

Application.ScreenUpdating = False

Application.Calculation = xlCalculationManual

Set cc = Selection

'если выделили 1 ячейку, то выход

If cc.Rows.Count = 1 And cc.Columns.Count = 1 Then

MsgBox "Выделено слишком мало ячеек!", , "Ошибка"

End

End If

Set cc = Selection.SpecialCells(xlCellTypeVisible)

For Each c In cc

If Not c.Comment Is Nothing Then

c.Value = c.Comment.Text

'c.ClearComments 'если надо удалить комментарий

i = i + 1

End If

End If

Next

Application.Calculation = xlCalculationAutomatic

Application.ScreenUpdating = True

MsgBox "Перенесено " & i & " комментариев!"

Exit Sub

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]