- ベストアンサー
エクセルマクロで行の値を変数に格納したい
エクセルで下記の表があるとします 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 を格納するマクロを作りたいのですが、どのように書けばいいかわかりません。 よろしくお願いします。
- みんなの回答 (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 宜しければお試し下さい
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
下記で宜しいか。 インプットボックスで「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
お礼
質問が乱雑でよく伝ええられなかったようです。 ご回答いただきありがとうございます。 求める回答が見つかりました。 今後もよろしくお願いいたします。
- kazuhiko5681
- ベストアンサー率49% (79/159)
はじめまして。 >変数 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を検索し、検出結果を変数に代入する。 という風に書いていただけるとマクロの書き方をお知らせすることができると思います。
お礼
乱雑な質問にもかかわらずご回答いただきありがとうございます。 求めている回答が見つかりました。 今後もよろしくお願いいたします
お礼
私が求めていた内容です。 この書き方でマクロ作ることが出来ました。 どうもありがとうございます。 今後もよろしくお願いいたします。