One approach is to make use of the
Cell options
CellFrame and
CellMargins to build up the frame around multiple cells using partial frames around the set of cells. Using
CellFrame, the first cell has frame elements at the top and sides. The inside cells have frame elements around the sides only. And the bottom has frame elements on the sides and the bottom. Then using
CellMargins the vertical distances between the cells is made 0 so that they abutt. Here is a programmatic example, but you can use the option inspector to make these changes interactively. Also one cold write a function that does this for a selection of cells and then put that function into a button and then into a palette if one wished. (Tweaking this all so it works in a more general case requires also playing with
CellFrameMargins option settings. This is just a quick proof of concept example...)
CellPrint[{TextCell[StringJoin[Table["abcd ", {20}]], "Text",
CellFrame -> {{True, True}, {False, True}},
CellMargins -> {{200, 200}, {0, 0}}],
TextCell[StringJoin[Table["abcd ", {20}]], "Text",
CellFrame -> {{True, True}, {False, False}},
CellMargins -> {{200, 200}, {0, 0}}],
TextCell[StringJoin[Table["abcd ", {20}]], "Text",
CellFrame -> {{True, True}, {False, False}},
CellMargins -> {{200, 200}, {0, 0}}],
TextCell[StringJoin[Table["abcd ", {20}]], "Text",
CellFrame -> {{True, True}, {True, False}},
CellMargins -> {{200, 200}, {0, 0}}]}]
Realizing that you are new to Mathematica, this may seem pretty complex. If I have some time later on I can put together a one-button Palette that can do this for you.