Rather than using tables for this I would define a custom pics using tikz -- you can read all about pics in section 18.2 of the tikz manual (version 3.0.1a) -- and I'd then wrap everything into a custom macro so that the commands
\GrayTable{1,1,1,1}
\newpage
\RedTable{0.8,0.1,0.4,0.3}
would produce the two pages

The numbers in the comma separated list given to \GrayTable become the numbers printed in the table. In the \RedTable macro, the numbers give the "relative" height of the line in each column and the numbers in the table cells are automatically generated as in the MWE.
Using tikzpagenodes I have made the table fill the full "text area" of the page. There would probably be printing issues, but you could make the table fill the entire page by replacing all occurrences of current page header area with current page.
In fact, the macros below are slightly more general in that, within reason, they are not restricted to four columns and in exactly the same way produce (see the second example in the MWE below):

Here is the full code:
\documentclass[svgnames]{article}
\usepackage[a4paper, landscape]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{tikzpagenodes}
\tikzset{
gray cell/.style = {
rectangle,
fill=SlateGray,
draw=LightGray,
line width=2mm,
anchor=north west,
minimum height=\textheight,
font=\Huge
},
pics/gray cells/.style args = {#1}{
code = {
% count the number of columns
\foreach \x [count=\c, remember=\c as \C] in {#1} {};
\foreach \x [count=\c, evaluate=\c as \r using {\c/\C}] in {#1} {
\node[gray cell, minimum width=\textwidth/\C] at
($ (current page header area.north west)!\r!(current page header area.north east) $)
{\x};
}
}
},
gray line/.style = {
fill=LightGray,
draw=LightGray,
},
red line/.style = {
fill=Red,
draw=Red,
},
pics/red cells/.style args = {#1}{
code = {
% count the number of columns
\foreach \cell [count=\c, remember=\c as \C] in {#1} {};
\foreach \x [count=\c, evaluate=\c as \r using {\c/\C},
evaluate=\c as \d using {int(\c+1)}] in {#1} {
\node[gray cell, minimum width=\textwidth/\C] (RC\c) at
($ (current page header area.north west)!\r!(current page header area.north east) $){};
\coordinate (RCL\c) at ($ (RC\c.north west)!\x!(RC\c.south west)+(0,1mm) $);
\coordinate (RCR\c) at ($ (RC\c.north east)!\x!(RC\c.south east)-(0,1mm) $);
\draw[gray line] (RCL\c) rectangle (RCR\c);
\draw[red line] ($ (RCL\c)+(8mm,0) $) rectangle ($ (RCR\c)-(8mm,0) $);
\node[font=\Huge] at ($ (-0.8,0.8) + (RCR\c.north east) $) {\c};
\node[font=\Huge] at ($ (-0.8,0.8) + (RC\c.south east) $) {\d};
}
}
}
}
\newcommand\GrayTable[1]{\tikz{\pic at (0,0) {gray cells={#1}};}}
\newcommand\RedTable[1]{\tikz{\pic at (0,0) {red cells={#1}};}}
\pagestyle{empty}
\begin{document}
\GrayTable{1,1,1,1}
\newpage
\RedTable{0.8,0.1,0.4,0.3}
\newpage
\GrayTable{1,2,3,4,5,6}
\newpage
\RedTable{0.8,0.1,0.5,0.7,0.4,0.3}
\end{document}
\documentclass{article} \usepackage{geometry} \usepackage{multicol} \usepackage{lipsum} \begin{document} \begin{multicols}{4} \lipsum \end{multicols} \end{document}– Zarko Aug 19 '18 at 14:40