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