VBA Snippets


Char_InsertCopyright

Public Sub Char_InsertCopyright()
Const sPROCNAME As String = "Char_InsertCopyright"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=169, Unicode:=True, Bias:=0
Selection.MoveLeft wdCharacter, 1, True
Selection.Font.Superscript = True
Selection.MoveRight wdCharacter, 1, False
Selection.Font.Superscript = False
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertCubed

Public Sub Char_InsertCubed()
Const sPROCNAME As String = "Char_InsertCubed"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=179, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertDegrees

Public Sub Char_InsertDegrees()
Const sPROCNAME As String = "Char_InsertDegrees"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=176, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertEmDash

Public Sub Char_InsertEmDash()
Const sPROCNAME As String = "Char_InsertEmDash"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=8212, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertEnDash

Public Sub Char_InsertEnDash()
Const sPROCNAME As String = "Char_InsertEnDash"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=8211, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreaterThanOrEqualTo

Public Sub Char_InsertGreaterThanOrEqualTo()
Const sPROCNAME As String = "Char_InsertGreaterThanOrEqualTo"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=8805, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekAlpha

Public Sub Char_InsertGreekAlpha()
Const sPROCNAME As String = "Char_InsertGreekAlpha"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=945, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekBeta

Public Sub Char_InsertGreekBeta()
Const sPROCNAME As String = "Char_InsertGreekBeta"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=946, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekDelta

Public Sub Char_InsertGreekDelta()
Const sPROCNAME As String = "Char_InsertGreekDelta"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=948, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekEpsilon

Public Sub Char_InsertGreekEpsilon()
Const sPROCNAME As String = "Char_InsertGreekEpsilon"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=949, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekGamma

Public Sub Char_InsertGreekGamma()
Const sPROCNAME As String = "Char_InsertGreekGamma"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=947, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekKappa

Public Sub Char_InsertGreekKappa()
Const sPROCNAME As String = "Char_InsertGreekKappa"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=954, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekLambda

Public Sub Char_InsertGreekLambda()
Const sPROCNAME As String = "Char_InsertGreekLambda"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=955, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekMu

Public Sub Char_InsertGreekMu()
Const sPROCNAME As String = "Char_InsertGreekMu"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=956, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekOmega

Public Sub Char_InsertGreekOmega()
Const sPROCNAME As String = "Char_InsertGreekOmega"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=937, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekPi

Public Sub Char_InsertGreekPi()
Const sPROCNAME As String = "Char_InsertGreekPi"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=960, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekSigma

Public Sub Char_InsertGreekSigma()
Const sPROCNAME As String = "Char_InsertGreekSigma"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=963, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertGreekTau

Public Sub Char_InsertGreekTau()
Const sPROCNAME As String = "Char_InsertGreekTau"
On Error GoTo ErrorHandler
Selection.InsertSymbol Font:=Selection.Range.Font.Name, CharacterNumber:=964, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertLessThanOrEqualTo

Public Sub Char_InsertLessThanOrEqualTo()
Const sPROCNAME As String = "Char_InsertLessThanOrEqualTo"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=8804, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertMultiplication

Public Sub Char_InsertMultiplication()
Const sPROCNAME As String = "Char_InsertMultiplication"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=215, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertNonBreakingHyphen

Public Sub Char_InsertNonBreakingHyphen()
Const sPROCNAME As String = "Char_InsertNonBreakingHyphen"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=30, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertNonBreakingSpace

Public Sub Char_InsertNonBreakingSpace()
Const sPROCNAME As String = "Char_InsertNonBreakingSpace"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=160, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertOneHalf

Public Sub Char_InsertOneHalf()
Const sPROCNAME As String = "Char_InsertOneHalf"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=189, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertOneQuarter

Public Sub Char_InsertOneQuarter()
Const sPROCNAME As String = "Char_InsertOneQuarter"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=188, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertPlusMinus

Public Sub Char_InsertPlusMinus()
Const sPROCNAME As String = "Char_InsertPlusMinus"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=177, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertRegistered

Public Sub Char_InsertRegistered()
Const sPROCNAME As String = "Char_InsertRegistered"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=174, Unicode:=True, Bias:=0
Selection.MoveLeft wdCharacter, 1, True
Selection.Font.Superscript = True
Selection.MoveRight wdCharacter, 1, False
Selection.Font.Superscript = False
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertSquared

Public Sub Char_InsertSquared()
Const sPROCNAME As String = "Char_InsertSquared"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=178, Unicode:=True
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertThreeQuarters

Public Sub Char_InsertThreeQuarters()
Const sPROCNAME As String = "Char_InsertThreeQuarters"
On Error GoTo ErrorHandler
Selection.InsertSymbol CharacterNumber:=190, Unicode:=True, Bias:=0
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Char_InsertTrademark

Public Sub Char_InsertTrademark()
Const sPROCNAME As String = "Char_InsertTrademark"
On Error GoTo ErrorHandler
Selection.TypeText "TM"
Selection.MoveLeft wdCharacter, 2, True
Selection.Font.Superscript = True
Selection.MoveRight wdCharacter, 2
Selection.MoveRight wdCharacter, 1, False
Selection.Font.Superscript = False
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Selection_Bold

Bolds the selected cells.
Public Function Sel_Bold(Optional bBold As Boolean = True) As Boolean
Const sPROCNAME As String = "Sel_Bold"
On Error GoTo AnError
Selection.Font.Bold = bBold
If gbDEBUG = False Then Exit Function
AnError:
Call Error_Handle(msMODULENAME, sPROCNAME, 1,
"bold / unbold the highlighted cells")
End Function

Selection_BoldIsIt

Determines if any of the selected cells contain bold text.
Public Function Sel_BoldIsIt() As Boolean
Const sPROCNAME As String = "Sel_BoldIsIt"
On Error GoTo AnError
If Selection.Font.Bold = True Then Sel_BoldIsIt = True
If Selection.Font.Bold = False Then Sel_BoldIsIt = False
If gbDEBUG = False Then Exit Function
AnError:
Call Error_Handle(msMODULENAME, sPROCNAME, 1,
"determine if any of the highlighted cells are bold or unbold")
End Function

Selection_Format

Applies formatting to the current selection.
Public Sub Sel_Format()
Const sPROCNAME As String = "Sel_Format"
On Error GoTo AnError

'italics, underline, font name, font size

If gbDEBUG = False Then Exit Sub
AnError:
Call Error_Handle(msMODULENAME, sPROCNAME, 1,
"apply any formatting to the current selection")
End Sub

Selection_HasAnyShapes

Public Function Sel_HasAnyShapes() As Boolean
On Error GoTo AnError
If Application.Selection.Range.ShapeRange.Count > 0 Then
Sel_HasAnyShapes = True
End If
AnError:
Sel_HasAnyShapes = False
End Function

Selection_PasteSpecial

Public Function Sel_PasteSpecial(ByVal enPasteDataType As WdPasteDataType, _
ByVal bLink As Boolean, _
Optional ByVal bInformUser As Boolean = True) _
As Boolean

On Error GoTo AnError

Selection.Range.PasteSpecial Placement:=wdInLine, DataType:=enPasteDataType, Link:=bLink
Sel_PasteSpecial = True
Exit Function

AnError:
If bInformUser = True Then
Call MsgBox("There is nothing on the Clipboard to paste.", vbCritical)
End If
Sel_PasteSpecial = False
End Function

Selection_RemoveLastChar

Removes the last character if it matching a given string from all the cells currently highlighted.
Public Sub Sel_RemoveLastChar(Optional sChar As String = "%")
Const sPROCNAME As String = "Sel_RemoveLastChar"
Dim scontents As String, clcell As cell
On Error GoTo AnError
For Each clcell In Selection.Cells
scontents = Left$(clcell.Range.Text, Len(clcell.Range.Text) - 2)
If Len(scontents) > 0 Then
If Right$(scontents, 1) = sChar Then _
clcell.Range.Text = Left$(scontents, Len(scontents) - 1) & vbCrLf
End If
Next clcell
If gbDEBUG = False Then Exit Sub
AnError:
Call Error_Handle(msMODULENAME, sPROCNAME, 1,
"remove the last character if it matches """ & sChar & """" & _
" from all the cells currently highlighted")
End Sub

Selection_RemovePreceedingChar

Removes all the given characters that preceed any text in the cells of the current selection.
Public Sub Sel_RemovePreceedingChar(Optional sChar As String = " ")
Const sPROCNAME As String = "Sel_RemoveLastChar"
Dim scontents$, clcell As cell
On Error GoTo AnError
For Each clcell In Selection.Cells
scontents = Left$(clcell.Range.Text, Len(clcell.Range.Text) - 2)
Do While Left$(scontents, 1) = sChar
scontents = Right$(scontents, Len(scontents) - 1)
Loop
clcell.Range.Text = scontents & Right$(clcell.Range.Text, 1)
Next clcell
If gbDEBUG = False Then Exit Sub
AnError:
Call Error_Handle(msMODULENAME, sPROCNAME, 1,
"remove all the characters that preceed a given string " & _
"from all the cells currently highlighted")
End Sub

Selection_TitleCase

Public Sub Selection_TitleCase()
Const sPROCNAME As String = "Selection_TitleCase"
Dim lclist As String
Dim wrd As Integer
Dim sTest As String
On Error GoTo ErrorHandler
' list of lowercase words, surrounded by spaces
lclist = " of the by to this is from a "
Selection.Range.Case = wdTitleWord
For wrd = 2 To Selection.Range.Words.Count
sTest = Trim(Selection.Range.Words(wrd))
sTest = " " & LCase(sTest) & " "
If InStr(lclist, sTest) Then
Selection.Range.Words(wrd).Case = wdLowerCase
End If
Next wrd
Exit Sub
ErrorHandler:
Call Error_Handle(msMODULENAME, sPROCNAME, Err.Number, Err.Description)
End Sub

Selection_UnderlinedIsIt

Determines if any of the highlighted cells are underlined.
Public Function Sel_UnderlinedIsIt() As Boolean
Const sPROCNAME As String = "Sel_UnderlinedIsIt"
On Error GoTo AnError
Sel_AnyUnderlined = _
(Selection.Borders(wdBorderBottom).LineStyle = Options.DefaultBorderLineStyle)
If gbDEBUG = False Then Exit Function
AnError:
Call Error_Handle(msMODULENAME, sPROCNAME, 1,
"determine if any of the highlighted cells are underlined")
End Function

Text_FindReplace

Performs a find and replace on the current selection in the active table.
Public Sub Text_FindReplace(sFindText As String, _
sReplaceText As String)
On Error GoTo AnError

With Selection.Find
.Replacement.ClearFormatting
.Text = sFindText
.Replacement.Text = sReplaceText
.Execute Replace:=wdReplaceAll
End With
If gbDEBUG = False Then Exit Sub
AnError:
Call Error_Handle("Text_FindReplace", msMODULENAME, 1, _
"")
End Sub

Text_Format

Formats the text that is currently selected.
Public Sub Text_Format(sFontName As String, _
sngFontSize As Single, _
lFontColour As Long, _
bBold As Boolean)
On Error GoTo AnError
Selection.style = ActiveDocument.Styles("Normal")
With Selection.Font
.Name = Return_FontName(sFontName)
.Size = sngFontSize
.Italic = False
.Bold = bBold
.ColorIndex = lFontColour
End With
If gbDEBUG = False Then Exit Sub
AnError:
Call Error_Handle("Text_Format", msMODULENAME, 1, _
"")
End Sub

Text_MoveAbove

Moves a particular number of lines above the current selection.
Public Sub Text_MoveAbove(iNoOfLines As Integer)
On Error GoTo AnError

If gbDEBUG = False Then Exit Sub
AnError:
Call Error_Handle("Text_MoveAbove", msMODULENAME, 1, _
"")
End Sub

Text_MoveDown

Moves a particular number of lines below the current selection.
Public Sub Text_MoveDown(iNoOfLines As Integer)
On Error GoTo AnError

If gbDEBUG = False Then Exit Sub
AnError:
Call Error_Handle("Text_MoveDown", msMODULENAME, 1, _
"")
End Sub

© 2025 Better Solutions Limited. All Rights Reserved. © 2025 Better Solutions Limited Top