web-dev-qa-db-ja.com

Excel:一度に複数の数式を変更しますか?

[データ]タブの[小計]ツールを使用して、データのチャンクを小計フィールドに並べ替えました。ただし、適用する数式は1つしか選択できません。

SUBTOTAL(1、RANGE)に基づいて列の1つに別の数式を適用するにはどうすればよいですか?これまでのところ、小計(9、RANGE)を入力していますが、これらすべてを選択して「9」を「1」に変更するより速い方法はありますか?

10
toolshed
  1. 列を選択します。
  2. Ctrl + Hを押します。
  3. 何を見つける:SUBTOTAL(9
  4. と置換する: SUBTOTAL(1
  5. [すべて置換]をクリックします
18
assylias

数式がA1:A5の範囲にあると仮定します

Alt + F11を押してVBEを開き、同じブックの一般モジュールに次のコードを入力します

Function GetFormula(Cell As Range) As String
   GetFormula = Cell.Formula
End Function

http://dmcritchie.mvps.org/Excel/formula.htm からこのコードを取得しました

このコードをモジュールに挿入する方法については、 http://www.cpearson.com/Excel/writingfunctionsinvba.aspx の「コードを配置する場所」セクションを参照してください。

これで、数式を抽出できます。この式をヘルパー列、たとえば列Bで使用します

=SUBSTITUTE(GetFormula(A1),"(1,","(9,")

次に、この数式を必要な場所までコピーし、必要な場所にのみ値をコピーして貼り付けます。

このトリックを使用して、必要な他の数式を変更することもできるので、このコードのスニペットを手元に置いておくことをお勧めします:)

1
playercharlie