The problem relates primarily to the identification of the selected shape. The folllowing will work:

Option Explicit
Sub GetShapeColor()
Dim oShape As Shape
Dim oSel As Variant
Dim LastRow As Long
Dim ws As Worksheet
Dim lngCol As Long
Dim iR As Integer
Dim iG As Integer
Dim iB As Integer

    Set oSel = ActiveWindow.Selection
    On Error GoTo err_Handler
    Set oShape = ActiveSheet.Shapes(oSel.Name)
    On Error GoTo 0
    lngCol = oShape.Fill.ForeColor
    
    iR = lngCol Mod 256
    iG = (lngCol \ 256) Mod 256
    iB = (lngCol \ 256 \ 256) Mod 256
    
    Set ws = Worksheets("Summary")
    LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1

    Worksheets("Summary").Activate
    ws.Range("C" & LastRow).Value = iR
    ws.Range("D" & LastRow).Value = iG
    ws.Range("E" & LastRow).Value = iB

    ws.Range("B" & LastRow).Select
    With Selection.Interior
        .Color = RGB(iR, iG, iB)
    End With

lbl_exit:
    Exit Sub
err_Handler:
    MsgBox "No shape selected!"
    Err.Clear
    GoTo lbl_exit
End Sub