• ベストアンサー

エクセル VBA セル範囲の一部解除

rangeオブジェクト型変数にセル範囲を代入した後、一部のセルを解除したいのです。 グラフを描くためにc列とE列をデータに散布図を描こうとしてます。セル範囲の選択はrange型変数に代入しました。しかしゼロ以下の値のセルは削除したいのです。 for each c in datacell if c.value <0 then c.value="" next c 上記のようにすると目的は達しますが、ワークシート上の値も削除されてしまい、好ましくありません。良い方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

オートフィルタで0より大きい値を抽出し 例えば Set datacell = Range("B2:B10").SpecialCells(xlCellTypeVisible) というようにして「可視セル」を取ればどうでしょうか。 適用できなければ現状のコードを補足で提示してください。 >しかしゼロ以下の値のセルは削除したいのです。 >for each c in datacell >if c.value <0 then c.value="" >next c ゼロ以下ということは0値も含みますから for each c in datacell if c.value <= 0 then c.value="" next c ですね。

noname#154650
質問者

お礼

ありがとうございます。 今エクセルを操作しない環境にあるため、回答頂いた内容をまだ確認出来てません。 しかしこのままズルズル放置するのも失礼ですので、まずは御礼まで。

関連するQ&A