View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Alok[_2_] Alok[_2_] is offline
external usenet poster
 
Posts: 5
Default Substitute worksheet function considered harmful: can createunopenable workbooks with cell values greater than 32k

The following macro will create a value in cell A2 that has more than
32k characters.

Sub foo()
Range("A1").Value = String$(2 ^ 15 - 1, "a")
Range("A2").Formula = "=Substitute(A1, ""a"", ""ab"")"
Range("A3").Formula = "=len(A2)"
End Sub

If you now save this workbook, it will not be openable by excel. We
discovered this behavior quite by accident when replacing the tab
character in a cell with spaces. Unfortunately, the cell contained a
large text fragment, and when expanded it was 32k chars. Because the
workbook is fine until it is saved and reopened, and because the
worksheet had nearly 1 million cells, it took a while to track down.
Are there other ways to make seemingly valid workbooks that cannot be
opened?