• 締切済み

教えて下さい!

エクセル2007でマクロを使用しています。 データー表を作り、マクロで作ったボタンを押すとデーター表内の当てはまるデーターが抽出されるという表です。下記参照。 (1)下記の様なデーター表があります。 リンゴ   品名検出←(マクロボタン) みかん   (品名内容) イチゴ メロン リンゴ (2)(品名内容)に品名を入れてマクロボタンを押すと、 リンゴ       品名検出 みかん       (リンゴ) イチゴ メロン リンゴ (3)「リンゴ」が検出される仕組みです。 リンゴ        品名検出 リンゴ        (リンゴ) 上記の表でセルを挿入して(増やして)マクロを押すと、マクロが反応しなくなりました。 挿入するだけではなく、何か別の作業もしないといけないのでしょうか? 分かりづらい質問と思いますが、宜しくお願い致します。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

提示なさった情報だけでは、正しく分析できる人はいないでしょう。 (まぐれ当たりはあるかも知れませんが) 原因と対処方法は、そのマクロを作成した人が一番詳しいはずですので、その方に使い方も併せてお尋ねになるのがよろしいかと思います。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問者が言っていることは、プログラムが止まったと言うことだけ。そんなことだけで、他人に原因ががわかるほど、プログラムの世界は易しくない。ソフトの機能も複雑化して、必要背景知識も膨大になり、プログラムの書き方も人により多様で、原因もデータ起因、プログラム起因、付帯環境起因など様々。 もっと複雑で手に負えないものだという畏れ見たいなものを持つべきと思う。 また他人に対する説明(文章、言葉で)は、誤解される恐れがいっぱい、と言うのも良く経験する。そういう畏れ見たいなものを持つべきだ。 ーー 推定で 質問者の検索のロジックがわからないが、最終行まで、各行で、「りんご」かどうかをIFで聞いているのだろうか。 Whileが何かで、その最終行を=""か、で聞いているのでは? ーー それなら Sub test01() d = Range("A65536").End(xlUp).Row For i = 1 To d '(りんごかどうか聞く) '(りんごならばその処理をする) Next i End Sub のやり方の方が良いのでは。 見つけるのもFind,FindNextメソドと言うのが別に有るが。 ーー 2007になると65536は意味がなくなったが、ここの行までは、ない、という行番号を指定する。100万行を指定する手もあろうが大げさな気がする ーー ついでに Sub test02() MsgBox ActiveSheet.UsedRange.SpecialCells(xlLastCell).Address End Sub で表示される行まで使っている。 Currentregionというのも有る。Googleで照会のこと。

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

>分かりづらい質問と思いますが、宜しくお願い致します。 はい、わかりづらいです(^^; コードを提示してもらうのが一番わかりやすいです。 とりあえず考えられるのは ・マクロのスタート位置がずれている(行/列) ・行末の判断が空白になっており、挿入したセルの直前でマクロが終了する。 ・回収終了の行をコード内で明示しており実データが一致していない などなど 自力解決できればそれが一番ですが

yskzss
質問者

お礼

皆様、ありがとうございます。 ご回答頂いた事を参考にやってみます。

関連するQ&A

専門家に質問してみよう