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

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

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

Re[6]: エクセルの列で検索


(過去ログ 176 を表示中)

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

■100963 / inTopicNo.1)  エクセルの列で検索
  
□投稿者/ たかぎ (1回)-(2022/12/06(Tue) 00:41:37)

分類:[C#] 

宜しくお願い致します

C#でエクセルのsheet1の中の文字を探して
色を塗ると言う事をやっているのですが
全体を探すのではなくBの列だけを探す時は
どう変えればいいでしょうか
教えて頂けないでしょうか
宜しくお願い致します

private void btnSearch_Click(object sender, EventArgs e)
        {
            string str = txtAPNo.Text;
            rng = ws.Cells[1, 1];
            var keyword = str;   
            var hitRange = ws.Cells.Find(keyword);
            var message = "";

            if (hitRange == null)
            {
                message = $"{keyword} は見つかりませんでした";
                MessageBox.Show(message);
                txtAPNo.Text = null;
            }
            else
            {
                var r = hitRange.Row;
                var c = hitRange.Column;

                //色を塗る処理をしています
            }
        }

引用返信 編集キー/
■100965 / inTopicNo.2)  Re[1]: エクセルの列で検索
□投稿者/ KOZ (365回)-(2022/12/06(Tue) 09:15:23)
2022/12/06(Tue) 10:20:06 編集(投稿者)
No100963 (たかぎ さん) に返信
> 全体を探すのではなくBの列だけを探す時は
> どう変えればいいでしょうか

var range = ws.Range;
var srcRange = range["B:B"];
var hitRange = srcRange.Find(keyword);

> private void btnSearch_Click(object sender, EventArgs e)
>         {
>             string str = txtAPNo.Text;

このようなインデントをたまに見かけますが、どこかのコーディング規約なんですか?

引用返信 編集キー/
■100966 / inTopicNo.3)  Re[2]: エクセルの列で検索
□投稿者/ 伝説のカレー (53回)-(2022/12/06(Tue) 12:14:49)
GNUスタイルはそんな感じのインデントだったような
引用返信 編集キー/
■100972 / inTopicNo.4)  Re[3]: エクセルの列で検索
□投稿者/ KOZ (367回)-(2022/12/06(Tue) 15:11:45)
No100966 (伝説のカレー さん) に返信
> GNUスタイルはそんな感じのインデントだったような
ちょっとググってみましたが、そんなのがあったんですね。
ありがとうございます。
引用返信 編集キー/
■101015 / inTopicNo.5)  Re[4]: エクセルの列で検索
□投稿者/ masa (5回)-(2022/12/10(Sat) 16:19:21)
No100972 (KOZ さん) に返信
> ■No100966 (伝説のカレー さん) に返信

var range = ws.Range; の所でエラーが出まして
色々調べたのですが教えて下さい

”Worksheet.Rangeには省略できない引数を指定する必要があります”
と出ています

宜しくお願い致します




引用返信 編集キー/
■101016 / inTopicNo.6)  Re[5]: エクセルの列で検索
□投稿者/ 伝説のカレー (57回)-(2022/12/10(Sat) 16:46:29)
No101015 (masa さん) に返信

Rangeの必須の引数が指定されてないから出てるエラーですね
エラーを消すなら引数を指定すればよいです

B列から探すのはこれでどうですかね
ws.Columns["B"].Find(keyword)

引用返信 編集キー/
■101017 / inTopicNo.7)  Re[5]: エクセルの列で検索
□投稿者/ KOZ (371回)-(2022/12/10(Sat) 19:39:25)
2022/12/10(Sat) 20:02:04 編集(投稿者)

No101015 (masa さん) に返信
> ”Worksheet.Rangeには省略できない引数を指定する必要があります”

すみません、勘違いしてました。
Worksheet の Range プロパティは引数付きのプロパティですね。

var srcRange = ws.Range["B:B"];
var hitRange = srcRange.Find(keyword);

No101016 (伝説のカレー さん) に返信
> ws.Columns["B"].Find(keyword)

Columns は Columns As Range なので
var columns = ws.Columns
var column = columns["B"]
var hitRange = column.Find(keyword);

のようにしないと COM が解放できなくなると思います。

引用返信 編集キー/
■101018 / inTopicNo.8)  Re[6]: エクセルの列で検索
□投稿者/ masa (7回)-(2022/12/10(Sat) 21:40:49)
ありがとうございました
行けました
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -