I need help for VBA as I'm new to this programming language. Is it possible to have 2 different sets of codes in one sheet in the workbook?
I want to make the Excel sheet more interactive like clicking on certain cell then highlighting the entire row that the cell is selected. But the sheet that im trying to make it interactive has a set of codes already.
Here is the codes that I want to make the excel sheet interactive
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    initializeWorksheets
    Dim ws As Worksheet
    For Each ws In Worksheets
        ws.Activate
        ' Clear the color of all the cells
        Cells.Interior.ColorIndex = 0
        If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
        Application.ScreenUpdating = False
        With ActiveCell
            ' Highlight the row and column that contain the active cell, within the current region
            Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)).Interior.ColorIndex = 6
        End With
    Next ws  
    Application.ScreenUpdating = True    
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'filtering
    Dim ws As Worksheet
    ws.Activate
    Dim ccolumn As Integer
    Dim vvalue As String
    ccolumn = ActiveCell.Column
    vvalue = ActiveCell.Value
    For Each ws In Worksheets
    If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
        Application.ScreenUpdating = False
        With ActiveCell
            Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)).AutoFilter Field:=ccolumn, Criteria1:=vvalue
            Cancel = True
        End With
    Next ws
End Sub
Here is the codes that it is used for the same sheet:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
    initializeWorksheets
    Application.ScreenUpdating = False
    If (ActiveSheet.Name = "Student Viewer") Then
        searchKey = Trim(Target.Range.Value)
        If (Right(searchKey, 1) = ")") Then
            searchKey = Right(searchKey, Len(searchKey) - InStrRev(searchKey, "(", -1))
            searchKey = Left(searchKey, Len(searchKey) - 1)
        End If
        temp = 2
        Do While (mainSheet.Range(findColumn(mainSheet, "IC Number") & temp) <> searchKey & "")
            temp = temp + 1
            If (temp > 65535) Then
                MsgBox ("Error in Finding xxxx Details")
                End
            End If
        Loop
        viewerSheet.Unprotect
        ' Set details
        For i = 2 To 10
            viewerSheet.Range("C" & i) = mainSheet.Range(findColumn(mainSheet, Left(viewerSheet.Range("B" & i), Len(viewerSheet.Range("B" & i)) - 1)) & temp)
            viewerSheet.Range("F" & i) = mainSheet.Range(findColumn(mainSheet, Left(viewerSheet.Range("E" & i), Len(viewerSheet.Range("E" & i)) - 1)) & temp)
        Next i
        For i = 2 To 3
            viewerSheet.Range("I" & i) = mainSheet.Range(findColumn(mainSheet, Left(viewerSheet.Range("H" & i), Len(viewerSheet.Range("H" & i)) - 1)) & temp)
        Next i
        loadSummary
        viewerSheet.Protect
    ElseIf (ActiveSheet.Name = "xxxx Viewer") Then
        searchKey = Trim(Target.Range.Value)
        viewerSheet2.Unprotect
        ' Set details
        temp = 2
        Do While (DetailsSheet.Range(findColumn(DetailsSheet, "Policy Num") & temp) <> searchKey & "")
            temp = temp + 1
            If (temp > 65535) Then
                MsgBox ("Error in Finding Details")
                End
            End If
        Loop
        For i = 2 To 11
            viewerSheet2.Range("C" & i) = DetailsSheet.Range(findColumn(DetailsSheet, Left(viewerSheet2.Range("B" & i), Len(viewerSheet2.Range("B" & i)) - 1)) & temp)
        Next i
        For i = 2 To 6
            viewerSheet2.Range("I" & i) = ValuesSheet.Range(findColumn(ValuesSheet, Left(viewerSheet2.Range("H" & i), Len(viewerSheet2.Range("H" & i)) - 1)) & temp)
        Next i
        For i = 7 To 12
            viewerSheet2.Range("I" & i) = DetailsSheet.Range(findColumn(DetailsSheet, Left(viewerSheet2.Range("H" & i), Len(viewerSheet2.Range("H" & i)) - 1)) & temp)
        Next i
        viewerSheet2.Hyperlinks.Add Anchor:=Range("C2"), Address:="", SubAddress:="'Client Viewer'!A1"
        loadDetail
        viewerSheet2.Protect
    End If
    Application.ScreenUpdating = True
End Sub
 
     
    