1

これまでのところ、列をスキャンして配列内の行を収集する検索機能を作成することができました。次に、配列を別のシートに出力してテーブルを作成します。これは、さまざまなサイズのさまざまな配列を取得することを意味するいくつかの基準で行います。

私の問題のために。行ごとに計算したい。ActiveCell.FormulaR1C1 =" = TRUNC ((RC [-5], RC [-1]) / 7) ". 行数に適応するループを作成するにはどうすればよいですか。また、ところどころ隙間があります。

以下は、1 つの配列がどのように出力されるかの例です。

For i = 1 To nS - 1
        Sheets("DataSheet").Select
        Union(Sheets("raw_list").Cells(arrStart(i), NameCol), Sheets("raw_list").Cells(arrStart(i), PhaseCol), Sheets("raw_list").Cells(arrStart(i), ToStartCol), Sheets("raw_list").Cells(arrStart(i), ToDefineCol), Sheets("raw_list").Cells(arrStart(i), ToMeasureCol), Sheets("raw_list").Cells(arrStart(i), ToAnalyseCol), Sheets("raw_list").Cells(arrStart(i), ToImproveDevCol), Sheets("raw_list").Cells(arrStart(i), ToImproveIndCol), Sheets("raw_list").Cells(arrStart(i), ToControlCol), Sheets("raw_list").Cells(arrStart(i), ToClosedCol)).Copy
        Cells(r, 1).Select
        ActiveSheet.Paste
        With Selection.Interior
            .Pattern = xlNone
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        r = r + 1
    Next

助けてくれてありがとう!

編集:それがどのように見えるかを示すために写真を追加しました。 ここに画像の説明を入力

4

1 に答える 1

2

ギャップがある場合、私たちが職場で使用しているのは、隣接する列に何らかのマーカーを追加するという単純ですが、それほど洗練されていないソリューションです。たとえば、同じ行のセルに「END」などを追加しますが、比較対象の列には col + 1 または col - 1 を追加します。

別の解決策は、次の要素も空白かどうかを調べることですが、それは単一のギャップがある場合にのみ機能します。

最後に、私が目にする最後の解決策は、空白のときに xlDown を使用し、2003 年に最後のセル 65535 にいて、2007 年に 100 万近くにいる場合、私の記憶が正しければ、完了です。

于 2012-07-10T11:15:35.433 に答える