Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5182 / 13644 ツリー ←次へ | 前へ→

【52209】countifの検索条件 山下 健志 07/10/31(水) 0:40 質問[未読]
【52210】Re:countifの検索条件 りん 07/10/31(水) 2:13 回答[未読]

【52209】countifの検索条件
質問  山下 健志 E-MAIL  - 07/10/31(水) 0:40 -

引用なし
パスワード
   はじめまして、マクロの初心者です。
待ち行列のシミュレーションをやってみたいですが、下の表で、
A    B   C   D   E    F  G
1   0.3  0.5  0.4  0.2   3.6 
2   0.4  0.9  1.1  1.2   1.6
3   0.8  0.9  1.1  1.2   5.6
4   0.7  0.9  1.1  1.2   1.6
5   0.4  0.9  1.1  1.2   1.6
6   0.3  0.5  0.4  1.7   1.1
G2に、E1-E1から、D2の値(1.1)より大きい数を求め、G3に、E1-E2から、D3の値(1.1)より大きい数を求め、・・・このように、G列に、E1から直上の行までに、同行のD列の値より大きいマクロで求めようですが、普通のexcelなら、
G6=countif($E$1*E5,">"&D6)
になります。しかし、マクロで、

Sub カウント()


Range("G2:G6").Formula = "=Countif($E$1:E1, " > "&G2 )"

End Sub

にしたら、trueと返してきてしまった。なぜですかな、達人に教えてください。

【52210】Re:countifの検索条件
回答  りん E-MAIL  - 07/10/31(水) 2:13 -

引用なし
パスワード
   山下 健志 さん、こんばんわ。
>Range("G2:G6").Formula = "=Countif($E$1:E1, " > "&G2 )"
>trueと返してきてしまった。なぜですかな、

「>」が数式を示す文字列から出てしまっているので、
Range("G2:G6")には
"=Countif($E$1:E1, " > "&G2 )"
この不等式が成立するかどうかの結果が入ります。

なので、セルに
 [セルG6式]=COUNTIF($E$1:E5,">"&D6)
という式を入れたい場合は、
 Range("G2:G6").Formula = "=countif($E$1:E1," & """>""" & "&D2)"
こうなります。

5182 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free