Main Code


PHP Code:
Sub BB_Table_Clipboard_PikeFoxAlan() 'http://www.excelfox.com/forum/f13/bbcode-table-2077/
    
    Dim BB_Row As Range, BB_Cells As Range, BB_Range As Range
    Dim BB_Code As String, strFontColour As String, strBackColour As String, strAlign As String, strWidth As String
    '
Const csHEADER_COLOR As String """#FFFFFF"""
    
Const csHEADER_COLOR As String "black"
    'Const csHEADER_BACK As String = "#888888"
    Const csHEADER_BACK As String = "powderblue"
    Const csROW_BACK As String = "#FFFFFF"
    Set BB_Range = Selection
    BB_Code = "[color=lightgrey]Using " & ExcelVersion & "[/color]" & vbCrLf '
Give Excel version
    BB_Code 
BB_Code "[table=" """" "class:thin_grid" """" "]" vbNewLine
    
'BB_Code = BB_Code & "[tr][td][font=Wingdings]v[/font][/td]" & vbNewLine
    BB_Code = BB_Code & "[tr=bgcolor:" & csHEADER_BACK & "][th][COLOR=" & csHEADER_COLOR & "][sub]Row[/sub]\[sup]Col[/sup][/COLOR][/th]"      ' 
top left cell
    
For Each BB_Cells In BB_Range.Rows(1).Cells 'Column Letters
        strWidth = Application.WorksheetFunction.RoundUp(BB_Cells.ColumnWidth * 7.5, 0)
        '
BB_Code BB_Code "[td=" """" "bgcolor:#ECF0F0, align:center, width:" strWidth """" "][B]" Split(BB_Cells.Address"$")(1) & "[/B][/td]" vbNewLine
        BB_Code 
BB_Code "[th][CENTER][COLOR=" csHEADER_COLOR "]" ColLtr(BB_Cells.Column) & "[/COLOR][/CENTER][/th]" 'Column Letter Row
    Next BB_Cells
    BB_Code = BB_Code & "[/tr]"
    For Each BB_Row In BB_Range.Rows '
Row Numbers
        BB_Code 
BB_Code "[tr]"
        'BB_Code = BB_Code & "[td=" & """" & "bgcolor:#ECF0F0, align:center" & """" & "][B]" & BB_Row.Row & "[/B][/td]" & vbNewLine
        BB_Code = BB_Code & "[td=" & """" & "bgcolor:" & csHEADER_BACK & ", align:center" & """" & "][B]" & BB_Row.Row & "[/B][/td]" & vbNewLine
        For Each BB_Cells In BB_Row.Cells
            If BB_Cells.FormatConditions.Count Then
                strFontColour = objColour(DisplayedColor(BB_Cells, False, False))
                strBackColour = objColour(DisplayedColor(BB_Cells, True, False))
            Else
                strFontColour = objColour(BB_Cells.Font.Color)
                strBackColour = objColour(BB_Cells.Interior.Color)
            End If
            strAlign = FontAlignment(BB_Cells)
            BB_Code = BB_Code & "[td=" & """" & "bgcolor:" & strBackColour & ", align:" & strAlign & """" & "][COLOR=""" & strFontColour & """]" & IIf(BB_Cells.Font.Bold, "[B]", "") & BB_Cells.Text & IIf(BB_Cells.Font.Bold, "[/B]", "") & "[/COLOR][/td]" & vbNewLine
        Next BB_Cells
        BB_Code = BB_Code & "[/tr]" & vbNewLine
    Next BB_Row
    BB_Code = BB_Code & "[/table]"
    '
End of main table
    BB_Code 
BB_Code "[Table=""width:, class:grid""][tr][td]Sheet: [b]" BB_Range.Parent.Name "[/b][/td][/tr][/table]" 'The parent ( One up the OOP change ) of the selects range is used to get at the sheet name.
    ClipBoard_SetData (BB_Code)
    Set BB_Range = Nothing
End Sub