C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: C#からエクセル操作(COUNTIF)


(過去ログ 90 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■53950 / inTopicNo.1)  C#からエクセル操作(COUNTIF)
  
□投稿者/ ちか (4回)-(2010/09/30(Thu) 15:50:47)

分類:[C#] 

C# 2008
EXCEL 2003

C#からセルを指定してCOUNTIF条件を入れたいのですが
objRange.FormulaR1C1 = "=COUNTIF(R[" + (intRowCnt * -1 + 7) + "]C[-8],>0)";
で、エラーになります。
objRange.FormulaR1C1 = "=COUNTIF(R[" + (intRowCnt * -1 + 7) + "]C[-8],0)";
だと、エラーになりません。

">0"の記入方法が悪いと思うのですが、うまくいきません。

すみませんが、教えてください。

引用返信 編集キー/
■53952 / inTopicNo.2)  Re[1]: C#からエクセル操作(COUNTIF)
□投稿者/ ごう (185回)-(2010/09/30(Thu) 16:24:04)
No53950 (ちか さん) に返信
> ">0"の記入方法が悪いと思うのですが、うまくいきません。

Excel関数の文法で、条件(今回なら">0")は、ダブルクォーテーションで囲む必要があるということはわかりますか?


こうしてみてはどうでしょう。
objRange.FormulaR1C1 = "=COUNTIF(R[" + (intRowCnt * -1 + 7) + "]C[-8],\">0\")";


C#の文字列の中でダブルクォーテーションを表現したい場合は、\"という書き方をします。

引用返信 編集キー/
■53963 / inTopicNo.3)  Re[2]: C#からエクセル操作(COUNTIF)
□投稿者/ ちか (6回)-(2010/09/30(Thu) 22:38:29)
ごうさんありがとうございます。

ダブルクォテーション表現がわからず止まっていました。

ただ、今度は循環参照エラーが出始めて模索中です。



No53952 (ごう さん) に返信
> ■No53950 (ちか さん) に返信
>>">0"の記入方法が悪いと思うのですが、うまくいきません。
>
> Excel関数の文法で、条件(今回なら">0")は、ダブルクォーテーションで囲む必要があるということはわかりますか?
>
>
> こうしてみてはどうでしょう。
> objRange.FormulaR1C1 = "=COUNTIF(R[" + (intRowCnt * -1 + 7) + "]C[-8],\">0\")";
>
>
> C#の文字列の中でダブルクォーテーションを表現したい場合は、\"という書き方をします。
>
引用返信 編集キー/
■53970 / inTopicNo.4)  Re[3]: C#からエクセル操作(COUNTIF)
□投稿者/ ごう (186回)-(2010/10/01(Fri) 09:06:00)
No53963 (ちか さん) に返信

> ただ、今度は循環参照エラーが出始めて模索中です。

エラーが出る内容について調べてみましたか?
COUNTIFの第一引数で選択した「範囲」
具体的にはR[?]C[-8] (※?の中には(intRowCnt * -1 + 7)で求めた数値が入りますよね)
の中に、COUNTIF文を書いたセル自身を含めてしまっているからですよ。

質問文を拝見した限りでは、
(1)intRowCnt * -1 + 7にはどんな数字が入ってるか
(2)COUNTIF文を記述するセルの列番号および行番号な何か
 
これらの情報は私たちにはわかりませんので、C#のデバッガを使用してご自身で調べてください。
(ヒントは、ブレークポイントを使うことです。)
一応、デバッガの使い方について記述された下記URLを紹介しておきます。
http://journal.mycom.co.jp/articles/2008/08/18/debug/index.html
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -