SG, Yours is much cleaner than mine. I don't understand how the item delimiter works well enough to make something that concise, I went with much more linear code. (oh and I can't seem to get my code to paste from the script editor correctly into this editor area)
tell application "Numbers"
activate
try
if not (exists document 1) then error number 1000
tell document 1
try
tell active sheet
set the selectedTable to ¬
(the first table whose class of selection range is range)
end tell
on error
error number 1001
end try
tell active sheet
tell selectedTable
set myhtml to "<Table border=\"1\">" & return
repeat with curRow from 1 to the count of rows
set myhtml to myhtml & " <TR>" & return
tell row curRow
repeat with curCell from 1 to count of columns
if (the value of cell curCell) is missing value then
set MyCellValue to ""
else
set MyCellValue to the value of cell curCell
end if
set myhtml to myhtml & " <td>" & MyCellValue & "</td>" & return
end repeat
end tell
set myhtml to myhtml & " </TR>" & return
end repeat
set myhtml to myhtml & "</table>"
end tell
make new text item with properties {object text:myhtml}
end tell
end tell
end try
end tell