Ok, ok, you are absolutely right! Here comes a somewhat cleaner solution:
hexPts[x_, y_] := Table[{Cos[2 Pi k/6] + x, Sin[2 Pi k/6] + y}, {k, 7}]
hexConns[x_, y_] := Partition[hexPts[x, y], 2, 1]
wall[h_][{{x1_, y1_}, {x2_, y2_}}] := Polygon[{{x1, y1, 0}, {x2, y2, 0}, {x2, y2, h}, {x1, y1, h}}]
hex3D[h_][x_, y_] := wall[h] /@ hexConns[x, y]
Graphics3D[Table[hex3D[2][3 i + 3 ((-1)^j + 1)/4, Sqrt[3]/2 j], {i, 10}, {j, 15}]]
This now gives:
The hight of the hexagons can be chosen individually:
Graphics3D[Table[hex3D[RandomReal[3]][3 i + 3 ((-1)^j + 1)/4, Sqrt[3]/2 j], {i, 10}, {j, 15}]]
Hope that helps, regards -- Henrik