Searching an entire workbook for keywords and then printing the results on another worksheet
Here are some of the changes I'd make


Use Option Explicit at the top of the module


Eliminate all errors found by compiling the code (Debug -> CompileVBA Project)
(declare all variables, first of all)

Remove the empty Sub ComboBox1_Change() declaration if you don't inded to use it
Replace string comparisons such as PageName &lt;&gt; "" with


PageName &lt;&gt; vbNullString (faster)
Len(PageName) &gt; 0 (even faster)

As pointed out in the comment, generalize the lastRow and totalValues statements


From:


  lastRow = Sheets(PageName).Range("A65536").End(xlUp).Row


To


With Sheets(PageName)
    lastRow = .Range(.Rows.Count, 1).End(xlUp).Row
End With





To reduce total lines of code and make it a bit easier to maintain I'd replace the three Select statements with one separate Function, and use it like this:

Private Sub CommandButton1_Click()
    TextBox1.Value = GetSelectedLetter(TextBox1.Value)
End Sub

Sub UpdateSearchBox()
    ...
    searchColumn = GetSelectedLetter(ComboBox2.Value)
    If InStr(searchColumn, "Please") &gt; 0 Then MsgBox searchColumn
    ...
End Sub

Sub FindOne()
    ...
    searchColumn = GetSelectedLetter(ComboBox2.Value)
    If InStr(searchColumn, "Please") &gt; 0 Then MsgBox searchColumn
    ...
End Sub


Public Function GetSelectedLetter(ByVal sel As String) As String
    Select Case sel
        Case "G", "EQUIPMENT NUMBER":   GetSelectedLetter = "A":    Exit Function
        Case "B", "EQUIPMENT NAME":     GetSelectedLetter = "C":    Exit Function
        Case "E", "DUPONT NUMBER":      GetSelectedLetter = "F":    Exit Function
        Case "F", "SAP NUMBER":         GetSelectedLetter = "G":    Exit Function
        Case "D":                       GetSelectedLetter = "E":    Exit Function
        Case "SSI NUMBER":              GetSelectedLetter = "H":    Exit Function
        Case "PART NAME":               GetSelectedLetter = "I":    Exit Function
        Case "C":                       GetSelectedLetter = "D":    Exit Function
        Case "A":                       GetSelectedLetter = "B":    Exit Function
        Case vbNullString:
            GetSelectedLetter = "Please select a value for what you are searching by."
    End Select
End Function


(not the standard indentation, but I find it visually easier to work with)



Performance

One improvement: start the search after moving all data to arrays (array of arrays specifically)

Example:

Public Sub SearchAllSheetsArrayOfArrays()
    Const SRC_VAL = "Test"

    Dim ws As Worksheet, arr() As Variant, i As Long, j As Long, tc As Long, tw As Long
    Dim r As Long, c As Long, lbr As Long, ubr As Long, lbc As Long, ubc As Long

    i = 1
    tw = ThisWorkbook.Worksheets.Count
    ReDim arr(i To i + tw - 1)  'Place all data from each sheet in Variant sub-arrays

    For Each ws In ThisWorkbook.Worksheets
        If ws.UsedRange.Cells.Count &gt; 1 Then
            arr(j + 1) = ws.UsedRange
            j = j + 1
        End If
    Next

    tw = j
    ReDim Preserve arr(i To tw) 'Trim the main Array if there are empty sheets

    For i = 1 To tw     'tw = total worksheets
        lbr = LBound(arr(i), 1): ubr = UBound(arr(i), 1)    'dimension 1 (rows)
        lbc = LBound(arr(i), 2): ubc = UBound(arr(i), 2)    'dimension 2 (cols)
        For r = lbr To ubr
            For c = lbc To ubc
                If Len(arr(i)(r, c)) &gt; 0 Then
                    If InStr(arr(i)(r, c), SRC_VAL) &gt; 0 Then tc = tc + 1 'collect vals
                End If
            Next
        Next
    Next
    Debug.Print tc
End Sub




Ps. I used very short variable names to make the code fit in its window without scroll bars, but more descriptive names should be used - like in your posted code, but try to keep naming conventions consistent: all variables start with lower case letters, all procedures start with upper case letters