1

解決できないこの問題があります。テーブルからデータを取得してピボット テーブルを作成する Excel マクロを作成しています。テーブルのフィールドが 0 の場合、計算フィールドの計算を実行して、ピボット テーブルに空白のセルを表示したくありません。

私の条件式はこれです:

=IF((field1=0),"",(field1/field2))

この式を次のようにVBAに入れます

pt.CalculatedFields.Add Name:="ptfieldname", Formula:="=IF((field1=0),"",(field1/field2))"

ピボットテーブルオプションタブの「フィールド、アイテム&セット」ボタンを使ってエクセルに同じ数式を入れると空のピボットテーブルが表示されてしまう・・・ということで数式は正しいと思いますが、どうすればよいでしょうか? VBA マクロ内でもうまく機能するようにするには?!

前もって感謝します

4

1 に答える 1

1

SOへようこそ。私はここでかなり新しいですが、最近非常に便利であることがわかりました。

とにかく、ここにあなたの答えがあります。マクロ レコーダーを使用して、ピボット テーブルで計算フィールドを作成するときに使用する正確な構文を確認することで、これを見つけました。うまくいけば、私の答えを見つける方法が、将来あなたが自分でもっと多くの答えを見つけるのに役立つことを願っています.

問題は、VBA で式を参照する方法にありました。VBA では、引用符の中に実際の引用符を含める必要があるため、

=IF((field1=0),"",(field1/field2)) 

pt.CalculatedFields.Add Name:="ptfieldname", Formula:="=IF((field1=0),"",(field1/field2))"

する必要があります

=If(field1=0,"""",(field1/field2))
于 2012-05-14T19:30:59.710 に答える