4

以下のコマンドを使用すると、セルの内容をクリアできますが、背景色はクリアできません。範囲内のセルの背景色をクリアして設定するにはどうすればよいですか?

ob9.Range(ob9.Cells(1,StartCol),ob9.Cells(1,maxcolumn)).ClearContents

編集

私は以下を試しました:

CountFill = objExcel1.Application.WorksheetFunction.CountA(ob9.Rows(1))
CountBlnk = objExcel1.Application.WorksheetFunction.CountBlank(ob9.Rows(1))
TotalColumn= CountBlnk + CountFill

ob9.Range(ob9.Cells(1,CountFill + 1 ),ob9.Cells(1,TotalColumn)).Interior.ColorIndex(-4142) '= xlColorIndexNone

1行で実行できますか?

ありがとう

4

2 に答える 2

8

すべて順調。ただし、巨大なスクリプトを実行している場合は選択しないでください (これまでに何を経験したかを知っています)...

with ob9.Range(ob9.Cells(1,StartCol),ob9.Cells(1,maxcolumn))
.Interior.ColorIndex = xlColorIndexNone
.Interior.ColorIndex = 120
End With

を直接使用している場合は、パフォーマンスを低下させる欠点があるため、ブロックをrange削除することもできます。with

サブ質問への回答:

  1. 列番号から列名を取得するには?

    列名からの Excel 列番号

  2. maxcolumnOP の名前または番号に基づいて範囲を設定する方法。

    範囲(行、列) .

    必要row 1だとmaxcolumnおっしゃいましたが、これら2つのデータを使用してセルを構築できます。

    MsgBox Sheets(3).Rows(1).Columns(5).Address

    だから試してみてください:

    MsgBox Sheets(3).Rows(1).Columns(maxcolumn).Address

于 2013-01-02T10:34:50.483 に答える
2

あなたは試すことができます

ob9.Range(ob9.Cells(1,StartCol),ob9.Cells(1,maxcolumn)).Select
Selection.Interior.ColorIndex = xlColorIndexNone
Selection.Interior.ColorIndex = xlNone

最後の 2 行の 1 つが機能するはずですが、どちらが適切かわかりません (私は Excel を持っていません)。両方を試して報告できれば、それは素晴らしいことです。

以下を使用して色を設定できます。

Selection.Interior.Color = RGB(255,0,0)
于 2013-01-02T10:04:34.077 に答える