[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロでの数式で{}は対応しない?』(森)
以下のような{}で括る配列数式はマクロでは対応しないのでしょうか? どこがいけないのでしょうか?
Sub Macro1()
Cells(2, 1) = "{=IF(COUNTIF($D$2:$D$12945,$P$2)>ROW(A1), INDEX($L$2:$M$12945,SMALL((IF($D$2:$D$12945=$P$2,ROW($D$2:$D$12945),"""")), ROW (A1)),COLUMN(A1)),"""")}"
End Sub
例
Sub test() Cells(1, 1).FormulaArray = "=sum(if(b1:b5=1,1))" End Sub
ichinose
ichinose様、わかりました。ありがとうございました。 追加質問ですが値だけのコピーをしたいのですがエラーが出ます。 どこがいけないのでしょうか?
Sub test() Cells(1, 1).FormulaArray = "=sum(if(b1:b5=1,1))" Cells(1, 1).Value = Cells(1, 1).Value ←値だけの貼り付けでエラーがでます。 End Sub
すみません。勘違いです。うまくいきました。 有難うございました。 (森)
解決済みですが。。。
手作業でやれる事は、一旦記録にとって見ると良いと思います。
●マクロの記録を開始 1.A1セルを選択 2.=SUM(IF(B1:B5=1,1)) Enter 3.A1セルを選択 4.{=SUM(IF(B1:B5=1,1))} Enter 5.A1セルを選択 6.=SUM(IF(B1:B5=1,1)) Ctrl + Shift + Enter ■マクロの記録を終了
すると、以下の記録が出来ます。
'------ Sub Macro1() Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(IF(RC[1]:R[4]C[1]=1,1))" Range("A1").Select ActiveCell.FormulaR1C1 = "{=SUM(IF(B1:B5=1,1))}" Range("A1").Select Selection.FormulaArray = "=SUM(IF(RC[1]:R[4]C[1]=1,1))" End Sub '------
一番下の「FormulaArray」に成っているのが Ctrl + Shift + Enter で確定した時の記録です。
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.