sheet1のA列~P列に以下のようなデータがあり、sheet2に特定のデータを抽出して貼付けたいと思っていますが独学では思うようになりません。どうかご指導いただけませんでしょうか。
「sheet1」
A B C D E F G H …P
コード 品名 単価 数量 4月 5月 6月 7月 3月
121 コピー用紙 500 12 1,500 1,500 1,500 1,000 2,000
122 事務用品 700 12 700 700 700 1,400 700
123 電池 350 2 0 0 700 0 700
211 ガソリン代 142 12 9,000 9,500 8,500 8,500 7,000
212 ワイパー 1,480 1 0 0 0 0 1,480
・
・
「sheet2」
A
コード
123 電池 350 2 0 0 700 0 700
212 ワイパー 1,480 1 0 0 0 0 1,480
※作業
「sheet2」のコードは既に決まっている為、そのコードに一致した「sheet1」のB列~P列
までの内容を「マクロボタン」を押すことで自動貼付けできるといった内容となります。
以上、何卒よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは
>今回vbaということでご質問させていただきました。
既に指摘がありますが、ご自分でできないものを利用するとメンテできなる恐れが大です。
一方で、少し要領よく考えれば「マクロの記録」を利用して実現することは不可能ではないでしょう。
※ ご質問のタイトル通り「VLOOKUP」を利用していますので、元データの空白欄は「0」表示になります。
空白のままとしたい場合は、表示書式で行うか、関数式を修正してください。
Sub Sample_12035038()
Dim r As Range
Const f = "=IFERROR(VLOOKUP($A2,Sheet1!$A:$P,COLUMN(),0),"""")"
With Worksheets("Sheet11") 'Sheet2
Set r = Range(.cells(1, 1), .cells(Rows.Count, 1).End(xlUp))
If r.Rows.Count < 2 Then Exit Sub
Set r = r.Resize(r.Rows.Count - 1, 15).Offset(1, 1)
r.FormulaLocal = f
r.Value = r.Value
End With
End Sub
No.2
- 回答日時:
> 「sheet2」のコードは既に決まっている
もしも、sheet2のA列に、あらかじめ、コードが書かれているのならば、
> 「マクロボタン」を押すことで自動貼付けできる
マクロを使わずに、EXCEL関数vlookupを、sheet2のB列などに使う方が、良いのではないですか。 自動反映になっていた方が良さそうですが。
No.1
- 回答日時:
VBAなんていらなくね?
私なら
1:抽出コードリストシートを作成、(紫)一覧ね
2:シート1(緑)にあるデータの中から、抽出コード(紫)にあるデータをシート2(オレンジ)に反映させる関数を使うだけ
そもそもVBAわかってなくて、作ってもメンテナンスできなくて困るだけだkらね。
欲しいデータのシート2の関数
=IFERROR(VLOOKUP(lst_抽出コード!A:A,Sheet1!A:A,1,0),"")
=IFERROR(VLOOKUP($A2,Sheet1!$A:$I,2,0),"")
=IFERROR(VLOOKUP($A2,Sheet1!$A:$I,3,0),"")
以下列の数を4,5,6と増やすだけ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) VBA active sheetをPDF化して指定フォルダに保存 1 2022/07/07 11:27
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシートの縦横入れ替え
-
ExcelのVBAでvlookupの使い方を...
-
Excelでカーソルが逆に動く
-
Caps Lockキーの解除
-
至急! Excelで歩合計算
-
60進法で複数セルの足し算、引...
-
Excel2010の並べ替えで行の高さ...
-
リース初心者です 利子率の計...
-
WORDで先頭ページを追加するには?
-
エクセルで作った書類に、パン...
-
エクセルの行高さが、挿入作業...
-
エクセルで141.75を141時間75分
-
バーコード(NW7)のフォントを...
-
Excelで歩合給の計算をしたいの...
-
プルダウンで選択すると隣のセ...
-
エクセル フォームボタンクリ...
-
エクセルで離れたセルを離れた...
-
バーコード読み取り
-
エクセル 重複するデータの整理
-
エクセルで行ごとに繰り返しの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルに入力後、別のシート...
-
ExcelのVBAでvlookupの使い方を...
-
エクセルの最終ページだけを自...
-
EXCEL VBA データを抽出して別...
-
エクセルデータから必要な情報...
-
Caps Lockキーの解除
-
Excel2010の並べ替えで行の高さ...
-
エクセル関数で {=TABLE(,セル...
-
リース初心者です 利子率の計...
-
Excelでカーソルが逆に動く
-
エクセルで離れたセルを離れた...
-
プルダウンで選択すると隣のセ...
-
エクセルで複数の勤務時間ごと...
-
VBA 条件が一致した場合の...
-
エクセルで作った書類に、パン...
-
60進法で複数セルの足し算、引...
-
shiftキーのロック解除をしたい...
-
Java、配列の問題を教えて欲し...
-
今日の日付が第n曜日かを求める
-
至急! Excelで歩合計算
おすすめ情報
回答いただき有難うございました。
僕が説明不足だったのですが、「sheet2」は理由があって関数は使用したくなかったので今回vbaということでご質問させていただきました。