• 締切済み

教えて下さい!

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

みんなの回答

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

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

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • 行数をカウントするSQLにつきまして

    行数をカウントするSQLにつきまして いつもお世話になっております。 下記の売上テーブルから りんご=3(行) みかん=2(行) メロン=1(行) というようなデータを抽出するSQLはどのように記述したら良いのでしょうか? ・・・・売上テーブル・・・ 売上番号 品名 単価 1     りんご 100 2     りんご 100 3     りんご 100 4     みかん 150 5     みかん 150 6     メロン 250

  • エクセル いろいろな品名ごとに条件付きのカウントをしたい。

    エクセルマクロについて教えてください。 以下の「元の表」から「抽出した表」のように、○がついているもののカウントをしたいのですが、マクロでやるにはどのようにしたらよいでしょうか。 品名は特定なものではなく、無限にあります。 〔元の表〕 品名 区分 りんご ○ りんご × みかん ○ バナナ ○ バナナ × キウイ ○ りんご × キウイ ○ りんご ○   :   : 〔抽出した表〕 品名  区分 数量 りんご ○ 2 みかん ○ 1 バナナ ○ 1 キウイ ○ 2   :   :

  • エクセル 表の表示について

    どなたかお知恵をお貸しいただけたら幸いです。 現在エクセルの表で、日付と買ったものが並んでいるのですが、その表示を一括で変更できたらと思っています。 A列 4/1  りんご B   4/1  みかん C   4/1  いちご D   4/2  みかん E   4/2  メロン F   4/3  いちご 上記の表があり、これを下記のような表に簡単に直すやり方が見つけられずに悩んでおります。 A列  4/1     4/2      4/3 B  りんご    みかん   いちご  C  みかん   メロン D  いちご どなたかよろしくお願いいたします。

  • EXCEL VBA 複数列を2列にまとめる

    下記のようなデータ(列数も行数も常に変わり、固定ではない)を ┌───────────────── │ A 列  | B列   | C列   | D列 ├─────────────────── │ 1 │伝票01 │品名01 | 品名02 │品名03 ├─────────────────── | 2 │0011 │みかん │みかん | りんご ├─────────────────── │ 3 │1001 │りんご  │いちご |    ├─────────────────── │ 4 │1100 │いちご  │みかん | ぶどう  └─────────────────── ↓のように2列にまとめる方法はございますでしょうか?VBAを希望しております。   よろしくお願い申し上げます。 ┌───────────────── │ A │ B   ├───────────────── │ 1 │伝票  │品名 ├───────────────── │ 2 │0011_品名01 │みかん  ├───────────────── │ 3 │1001_品名01 │りんご    ├───────────────── │ 4 │1100_品名01 │いちご ├───────────────── │ 5 │1001_品名02 │みかん  ├───────────────── │ 6 │1100_品名02 │いちご  ├───────────────── │ 7 │1001_品名02 │みかん  ├───────────────── │ 8 │1100_品名03 │りんご  ├───────────────── │ 9 │1001_品名03 │  ├───────────────── │ 0 │1001_品名03 │ぶどう  ├─────────────────

  • 行数をカウントするSQLにつきまして

    行数をカウントするSQLにつきまして いつもお世話になっております。 下記の売上テーブルから みかん=3(行目) というようなデータを抽出するSQLはどのように記述したら良いのでしょうか? ・・・・売上テーブル・・・ 売上番号 品名 単価 101   りんご 100 102   りんご 100 103   みかん 150 104   りんご 100 105   みかん 150 106   メロン 250 postgre8.3のためrow_numberが使えません

  • データの個数を集計

    データを集計結果を別のシートに反映させたいのですが、どのようにしたら良いのでしょうか。 どなたか教えていただけますでしょうか。 りんご  済 みかん  済 りんご  済 りんご  済 メロン りんご みかん イチゴ  済 このようなデータがあり 1.その中にある項目を自動で一つ出し、 2.それぞれ済の分を集計して・・・ イチゴ 1 みかん 1 メロン 0 りんご 3 と表を出したいのですが、どうすると一番簡単にできるでしょうか。 ピポットテーブルや関数、なんでも使用して簡単にできる方法をお教えいただければ幸いです。 よろしくお願い致します。

  • オートフィルターで抽出したデータを他のセルに表示させる方法

    こんばんは。 下記のようなマクロを組みたいのですが、 どなたかアドバイスをよろしくお願いいたします。 A2からB10までの表があります。 (2行目が項目でオートフィルターをかけてあります。) B列には「イチゴ」「メロン」「りんご」というデータがはいっています。 B列でソートをかけて 「イチゴ」を選んだ場合は、B1のセルに「イチゴ」と 表示させる。 同様に「メロン」を選んだ場合は、B1に「メロン」、 「りんご」を選んだなら「りんご」と表示させるようにしたいのですが、いい案を教えてください。 よろしくお願いします。

  • エクセル のマクロで 複数の表を1つにまとめたい

    エクセル のマクロで 複数の表を1つにまとめたい 下記のようなシートがあります。 Sheet1 A B C E F G I J K 1 日付  品名 数 日付  品名 数 日付  品名 数 2 1/1  みかん 100 1/2 りんご 50 1/1 バナナ 30 3 1/5  みかん 50 1/6 りんご 25 1/7 バナナ 20 4 1/10 みかん 30 1/11 りんご 15 1/10 バナナ 10 5 1/12 りんご 30 1/11 バナナ 10 6 1/13 りんご 50 みかん・りんご・バナナのそれぞれの表をマクロで下記のような1つの表ににまとめたいのですが どのようにしたら良いかご教授お願いいたします。 (初心者なので可能であればマクロ内で’コメント付きで解説いただけると助かります)  M N O 1 日付 品名 数 2 1/1 みかん 100 3 1/1 バナナ 30 4 1/5 みかん 50 5 1/6 りんご 25 6 1/7 バナナ 20 7 1/10 みかん 30 8 1/10 バナナ 10 9 1/11 りんご 15 10 1/11 バナナ 10 11 1/12 りんご 30 12 1/13 りんご 50 うまく説明できないのでイメージ画像を添付いたします。

  • エクセル データの比較・抽出方法について

    列1と列2を比べて、データが一致しないものを抽出したいのですが、方法がわかりません。どなたかご存知のかた教えていただけないでしょうか? 列1     列2 りんご   りんご みかん   メロン もも    もも いちご   バナナ 列2にあって 列1にないもの (→この場合メロン・バナナ) 列1にあって 列2にないもの (→この場合みかん・いちご) をそれぞれ分かるようにしたいのです。 エクセルの関数を使ってできたらよいなと思うのですが どなたか知恵を貸していただけないでしょうか。 よろしくお願いします。

  • エクセルでの質問です

    毎度お世話になっております。 エクセルで下記のような事は出来ますでしょうか? シート1に品名、数量が記載されておりますがシート2に抽出された結果のみ表示する 例)シート1    りんご 100    みかん 200    バナナ 200    りんご 200    バナナ 300    いちご 200 シート2(結果表示)     りんご 300     みかん 200     バナナ 500     いちご 200 と、それぞれの合計数量を抽出結果として表示して管理を行いたいと思ってます。 教えてください

専門家に質問してみよう