В этой статье собраны некоторые полезные макросы для Excel, которые облегчат ежедневную работу.
Замена формул в диапазоне на значения
Sub RemoveSpaces()
Dim myRange As Range
Dim myCell As Range
Select Case MsgBox("Сохранить книгу перед заменой значений? ", vbYesNoCancel)
Case Is = vbYes
ThisWorkbook.Save
Case Is = vbCancel
Exit Sub
End Select
Set myRange = Selection
For Each myCell In myRange
If Not IsEmpty(myCell) Then
myCell = Trim(myCell)
End If
Next myCell
End Sub
Удаление времени в датах
Sub removeTime()
Dim Rng As Range
For Each Rng In Selection
If IsDate(Rng) = True Then
Rng.Value = VBA.Int(Rng.Value)
End If
Next
Selection.NumberFormat = "dd.mm.yyyy"
End Sub
Закрытие рабочих книг Excel
Sub CloseAllWorkbooks()
Dim wbs As Workbook
For Each wbs In Workbooks
wbs.Close SaveChanges:=True
Next wb
End Sub
Раскрытие строк и столбцов
Sub UnhideRowsColumns()
Columns.EntireColumn.Hidden = False
Rows.EntireRow.Hidden = False
End Sub
Открыть калькулятор
Sub OpenCalculator()
Application.ActivateMicrosoftApp Index:=0
End Sub
Маркировка дубликатов в выделенной области
Sub HighlightDuplicateValues()
Dim myRange As Range
Dim myCell As Range
Set myRange = Selection
For Each myCell In myRange
If WorksheetFunction.CountIf(myRange, myCell.Value) > 1 Then
myCell.Interior.ColorIndex = 36
End If
Next myCell
End Sub