• ベストアンサー

エクセルマクロで行の値を変数に格納したい

エクセルで下記の表があるとします A B C D E 1 AA 123 234 12 567 2 AD 233 123 456 222 3 AC 765 223 555 678 変数 A_KEY に文字列"AD"をいれ、この変数で列Aを検索し、2行目を検出 変数 A_QTY(4) にそれぞれ A_QTY(1)=233 A_QTY(2)=123 A_QTY(3)=456 A_QTY=222 を格納するマクロを作りたいのですが、どのように書けばいいかわかりません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • oneworld
  • ベストアンサー率29% (17/58)
回答No.3

Sub Kensaku()   Dim A_KEY As String   Dim A_QTY(1 To 4) As Integer   Dim n As Integer   A_KEY = "AD"   Worksheets(1).Range("B:B").FindA_KEY,LookIn:=xlValues).Select   For n = 1 To 4    A_QTY(n) = Cells(Selection.Row, n + 2)   Next n   '下記はA_QTYに格納されたか否かの確認記述です   Cells(10, 1) = A_QTY(1)   Cells(10, 2) = A_QTY(2)   Cells(10, 3) = A_QTY(3)   Cells(10, 4) = A_QTY(4) End Sub 宜しければお試し下さい

GA1
質問者

お礼

私が求めていた内容です。 この書き方でマクロ作ることが出来ました。 どうもありがとうございます。 今後もよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

下記で宜しいか。 インプットボックスで「AD」を答えてください。 いやならInputBoxをa_key = "AD"で置き換えてください。 Sub test02() Dim a_qty(4) a_key = InputBox("A_KEY=") For i = 1 To 100 If Cells(i, 1) = a_key Then a_qty(1) = Cells(i, 2) a_qty(2) = Cells(i, 3) a_qty(3) = Cells(i, 4) a_qty(4) = Cells(i, 5) MsgBox a_qty(1) & ", " & a_qrt(2) End If

GA1
質問者

お礼

質問が乱雑でよく伝ええられなかったようです。 ご回答いただきありがとうございます。 求める回答が見つかりました。 今後もよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

はじめまして。 >変数 A_QTY(4) にそれぞれ A_QTY(1)=233 A_QTY(2)=123 A_QTY(3)=456 A_QTY=222 を格納するマクロを作りたい。 Sub Test Dim A_QTY(1 to 4) as integer A_QTY(1) = 233 A_QTY(2) = 123 A_QTY(3) = 456 A_QTY(4) = 222 End sub >変数A_KEY に文字列"AD"をいれ、この変数で列Aを検索し、2行目を検出 これでは、よく意味が解りません。例えば、 変数A_KEYに"○○"という文字を入れ、この変数でA1~A10000を検索し、検出結果を変数に代入する。 という風に書いていただけるとマクロの書き方をお知らせすることができると思います。

GA1
質問者

お礼

乱雑な質問にもかかわらずご回答いただきありがとうございます。 求めている回答が見つかりました。 今後もよろしくお願いいたします

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 最大値の行と列を変数に格納する方法

    A1~A100までの範囲で最大値を見つけ出した際に、そのアドレス(行と列)を変数に格納する方法を教えてください。 たとえば最大値が A53 にあった場合、 行はi(この場合は53)、列はj に格納する方法です。 よろしくお願いします。

  • EXCELマクロ 検索

    Excelマクロで 検索とその結果のコピーを行いたいのですが、全くの素人のためご教授願えればと思います。 Excel2002で 2つの表から共通する部分をKEYに付随するデータ抜き出したいと思っています。関数VLOOKUPを使えば簡単な作業かと思いますがVBAではそのVLOOKUPやFIND、それにLOOPなどの使い方が今ひとつ理解 できません。 具体例として 表1には A-Z列まで約1000行のデータが存在します。 表2は表1と同じシート上の直ぐ隣列AA-AK列まで表1より必ず多い行数のデータが存在します。また表1のA列にあるデータは すべて必ず表2のAA列に含まれます。 行いたい作業は、VLOOKUPのような検索で、表1A列と表2AA列に共通したデータがあった場合、表2の該当セルを基準としてALからBJ列セルに表1の該当行のデータB-Z列をすべてコピー貼り付けすることです。 A・AA列とも同列内では重複も空白もなくソートされています。 これら以外の列には同じValueのデータや空白が存在します。またデータ件数(行数)も表1・2とも一定ではなく都度変動します。 解りやすくご説明いただけると幸いです。宜しくお願いいたします。

  • EXCELマクロ 検索 VLOOKUP

    Excelマクロで 検索とその結果のコピーを行いたいのですが、全くの素人のためご教授願えればと思います。 Excel2002で 2つの表から共通する部分をKEYに付随するデータ抜き出したいと思っています。関数VLOOKUPを使えば簡単な作業かと思いますがVBAではそのVLOOKUPやFIND、それにLOOPなどの使い方が今ひとつ理解 できません。 具体例として 表1には A-Z列まで約1000行のデータが存在します。 表2は表1と同じシート上の直ぐ隣列AA-AK列まで表1より必ず多い行数のデータが存在します。また表1のA列にあるデータは すべて必ず表2のAA列に含まれます。 行いたい作業は、VLOOKUPのような検索で、表1A列と表2AA列に共通したデータがあった場合、表2の該当セルを基準としてALからBJ列セルに表1の該当行のデータB-Z列をすべてコピー貼り付けすることです。 A・AA列とも同列内では重複も空白もなくソートされています。 これら以外の列には同じValueのデータや空白が存在します。またデータ件数(行数)も表1・2とも一定ではなく都度変動します。 解りやすくご説明いただけると幸いです。宜しくお願いいたします。

  • COUNTBLANKのような役割を持つマクロ

    COUNTBLANKとはちょっと違うのですが、 行 ↓ A B C D ←列 1  AB AC AD AA 2 BB 3 C CC 4 DD 上記のようなデータがあります。 2,4行目みたいにA列とB列とC列が空白だったら、E2、E4セルに ○っていのを表示させるようなマクロってできないでしょうか。 また、Dのセルに値がある限り、その行数分上記の処理を繰り返す 方法があったら教えてください

  • エクセルのマクロ

    A列にアルファベット、B列からE列まで数字が入力されている表があります。 A1から順に(A1→A2→A3→・・・)、A列の文字を調べてそれが"A"であった場合のみ、同じ行のB列からE列の最大値をF列に、最小値をG列にコピーする(A列の文字が"A"以外の場合は何もせず下の行を調べる)、ということを繰り返し、A列が空白になった時その作業を中止する、というマクロを作りたいのです。 もちろん、一つの表だけならA列で並べ替えをして関数を使えば簡単にできますが、表がたくさんあるので自動化したいと思います。 マクロに関してはまったくの初心者なので、お知恵をお借りできればうれしく思います。

  • エクセルマクロ、空白行(セル)の挿入

    データがA、B、C、D、E列100行まであります。 このうちD、E列を除き、エクセルのマクロで1行ごとに空白で10行挿入したいです。 (A、B、C、D列のデータに空白セルを10行分挿入し、下にシフトするイメージ。D、E列はそのまま。) ご教授頂きたく、お願いします。

  • エクセルのマクロについて

    エクセルでマクロを組んでいますが、ひとつだけ再現できず困っています。 A1からE100までの表で、A列からD列までの数値をE列で○と×で判定します。 この時、E列が○の場合にA,B,D列のデータをクリアしたいのです。 マクロのコードがわかれば助かります。よろしくお願いします。

  • エクセルのマクロについて質問です。

    エクセルのマクロについて質問です。 たとえば、 セルA1からAA1までのセルの中で、コピーとペーストを行います。(これは記録マクロで作ります) それと同じ作業を、3行下のA3からAA3の行でも行い、 また、3行下のA6からAA6の行で行う といった作業をマクロで作る方法を 教えていただきたいです。

  • Excel 2007 マクロ 表の集計について

    Excel 2007 マクロ 表の集計について 2つのシート(Sheet1とSheet2)の情報を集計して Sheet3に反映するマクロを考えています。 (1)Sheet1のC列、D列、E列とSheet2のC列が空欄の場合は  Sheet3に反映しません。 (2)Sheet1のC列、D列、E列とSheet2のC列のいずれかに数値が  入っている場合にはSheet3に行を反映します。  ※Sheet3に反映する際に、Sheet1とSheet2のキー(A列)は  反映しません。  各Sheetの表は画像を添付します。  どのようなマクロを作成すればよろしいでしょうか。  マクロの超初心者です。  マクロのサンプルをご紹介頂けますでしょうか。

  • エクセルマクロ、集計行の上に空白行挿入

    エクセルデータがA、B、C、D、E列1000行まであります。 C列基準でE列を合計するマクロを作成しましたが(集計行はデータの下に挿入)、実行の結果、新たに挿入される集計行の上に空白行を1行挿入していくということを、作成したマクロに付加できるでしょうか? ご教授頂きたく、お願いします。

専門家に質問してみよう