無法通過列表為多列中的單元格著色我正在嘗試格式化多個列,以通過使用特定列名稱的列表來按單元格值更改顏色,但是我的代碼僅格式化了列表中的第一列。
如何獲取列表中其餘的列以進行格式化?
Names Default to Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2,2,2,2,2,2} ) ),
New Column( "1-1", set values( {0,1,0,0} ) ),
New Column( "2-1", set values( {0,0,0,1} ) ),
New Column( "3-1", set values( {0,0,0,0,4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = Nitems( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-"),
Remove from( Col_List, i )
)
);
For( i = 1, i <= N Row( Test_DT ), i++,
If( Column( Col_List )[i] >= 1,
Column( Col_List ) << Color Cells( light orange, {i} )
)
);
回复:無法通過列表為多列中的單元格著色您還必須遍歷col_list。
Names Default to Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2,2,2,2,2,2} ) ),
New Column( "1-1", set values( {0,1,0,0} ) ),
New Column( "2-1", set values( {0,0,0,1} ) ),
New Column( "3-1", set values( {0,0,0,0,4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = Nitems( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-"),
Remove from( Col_List, i )
)
);
For( i = 1, i <= N Row( Test_DT ), i++,
for (k = 1, k <= nitems(col_list), k++,
If ( Column( Col_List[k] )[i] >= 1,
Column( Col_List[k] ) << Color Cells( light orange, {i} )
);
);
);回复:無法通過列表為多列中的單元格著色你做了我做過很多次的事情。 您正在嘗試引用一個單元格值,但沒有指出哪一行。 看看下面的代碼,它正在工作。 另外,您正在比較我是否為gt 1,並且對於想要的結果,它應該為> =。
Names Default To Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2, 2, 2, 2, 2, 2} ) ),
New Column( "1-1", set values( {0, 1, 0, 0} ) ),
New Column( "2-1", set values( {0, 0, 0, 1} ) ),
New Column( "3-1", set values( {0, 0, 0, 0, 4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = N Items( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-" ),
Remove From( Col_List, i )
)
);
For( ColNum = 1, ColNum <= N Items( Col_List ), ColNum++,
For( i = 1, i <= N Row( Test_DT ), i++,
If( (Column( Col_List[colNum] )[i]) >= 1,
As Column( Col_List[ColNum] ) << Color Cells( light orange, {i} )
);
)
);回复:無法通過列表為多列中的單元格著色忍不住稍微改善。 將所有行收集到一列的矩陣中,並一次設置所有顏色。 一次比一排更有效。 不得不用作為列在裡面在哪裡獲取行條款。
Names Default to Here( 1 );
Test_DT = New Table( "Test",
New Column( "No Color", set values( {2,2,2,2,2,2} ) ),
New Column( "1-1", set values( {0,1,0,0} ) ),
New Column( "2-1", set values( {0,0,0,1} ) ),
New Column( "3-1", set values( {0,0,0,0,4} ) )
);
Col_List = Test_DT << Get Column Names( string );
For( i = Nitems( Col_List ), i > 0, i--,
If( !Contains( Col_List[i], "-"),
Remove from( Col_List, i )
)
);
for (k = 1, k <= nitems(col_list), k++,
one_col = Col_List[k];
orange_rows = test_dt << get rows where(as column(test_dt, one_col) >= 1);
if (nrows(orange_rows) > 0,
Column(test_dt, one_col) << Color Cells( light orange, orange_rows );
);
);回复:無法通過列表為多列中的單元格著色那很棒。謝謝!