• ベストアンサー

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

エクセルで下記の表があるとします 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/17069)
回答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

専門家に質問してみよう