- 締切済み
エクセル VBA 別ブックのコード一覧から必要なデータをコピーする方法について
Aブックには、部品番号が入力してあります。 部品番号 U123-456-789 U132-445-555 Bブックには、部品番号・部品コードが入力してあります。 部品番号 部品コード U198-444-101 1923589536 U132-445-555 1624658946 U123-456-789 3254625986 Aブックに、Bの部品コードを入力したいのです。 Aの部品番号をコピーして、Bで検索するまでは良いのですが 検索結果の隣のセルをどう選択すればよいのかがわかりません。 よろしくお願いします。
- dengennao
- お礼率72% (55/76)
- Visual Basic
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- winarrow07
- ベストアンサー率41% (143/346)
マクロを使わない方法として。 Aブックの部品番号の右のセルに =VLOOKUP(A2,[Book2.xlsx]Sheet1!$A:$B,2,FALSE) と式を入れます。 解説 式内のA2はAブックの部品番号があるセルを、 [Book2.xlsx]Sheet1!$A:$B はブックBの部品番号と部品コードの列を、 入れてください。 あとはそれをコピーするだけです。
- NOBNNN
- ベストアンサー率50% (93/186)
質問が意味不明です。 >>検索結果の隣のセルをどう選択すればよいのかがわかりません。 隣のセルとはなんですか? 部品コードですか? 検索ふぁ手動でおこなう? VBAマクロですか? 実現したい方法を具体的に明記してください。 たとえば ボタンを押して操舵するのかどうか
お礼
あまり説明しすぎるとわかりにくいと思い、省略しすぎました。 もう一度質問しなおします すみませんでした
関連するQ&A
- Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
部品表というブックがあります A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。 A列 B列 C列 商品名 商品番号 コード モータ U-1325-L ホルダ R-134256 また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。 やりたいことは 部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。 部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。 自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが… Sub 別ブックから貼り付ける() Dim 検索する As Long Windows("部品表.xls").Activate 検索する = cells(i,2).Value Windows("コード一覧表.xls").Activate ActiveWindow.SmallScroll Down:=-3 Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。 基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。 どうぞよろしくお願いします。
- 締切済み
- Visual Basic
- エクセルVBAでブック間のコピーをしたい。
エクセルVBAでブック間のコピーをしたい。 エクセルのVBA初心者です。 複数のブックが開いている時(ブックA,B,C...)に、今選択しているブックAのあるセルを、直前に選んでいたブックBやC(そのつど変わります)にコピーする方法は有りますでしょうか? どなたか教えて下さい。
- ベストアンサー
- その他MS Office製品
- エクセルで別ブックを検索するマクロ、VBA
エクセルで以下の処理を行えるマクロを作成したいです。 当方、マクロについてほとんど知識がありません。 恐縮ですが、教えていただけると嬉しいです。 ・主にしたいこと [検索]ブックで一致するコードを探して、 [結果]ブックの対応するコードの行にそれぞれの項目を返したい。 ●ブック1 [検索] シートが12個あります(それぞれ、1、2、3…12というシート名=1~12月分) ↓各シートの内容 A B C D 1 氏名 数値 コード 内容 2 abc 111 SS1234 あいうえお 3 bcd 123 SS3456 かきくけこ ・ ・ ・ といった感じです。 12個のシートの中身はそれぞれ似たようなものですが、 「コード」や「内容」などは少しずつ違います。 ●ブック2 [結果] ↓シートの内容 A B C D 1 氏名 コード 内容 数値 2 SS3456 3 SS1234 ・ ・ ・ といった感じです。 (注)検索用ブックとは列の並びが異なっています。 ここでやりたいことの詳細ですが、 ・[結果]ブックの「コード」(B列)にコードを入力すると、 [検索]ブックで一致するコードを検索し、 A列「氏名」、C列「内容」、D列「数値」に、[検索]シートの内容を 自動的に表示させたい。 (ただし[結果]ブックに入力した「コード」は、[検索]ブックの1~12のうち、 どのシートにあるかわからない) ・入力したコードが見つからない場合は何も表示しない。 ということです。 最初VLOOKUP、MATCH等の関数で表示することを考えましたが、 シートが複数にまたがっているのと、 列の並び方が[検索][結果]ブックで違うのでわかりませんでした。 長くなってしまい申し訳ありませんが、どうかおしえてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAで違うブックの指定セルの値をコピーするコード
同じフォルダ内に次のブックがあります。 ・「日報」フォルダ ・「入力」ブック ・「日報」ブック 「日報」ブックの「入力」シートのセルに入力して、ボタンを押すと 「日報」ブックの指定のセルに順にコピーしていくようにしたいの ですが、コードをお教えいただけないでしょうか? 具体的には次のようになります。 「入力」ブックの「入力」シート→「日報」ブックの「日報」シート A2,C2,D2,E2,F2→→→→→→A5,D5,F5,L5,P5 A3,C3,D3,E3,F3→→→→→→A6,D6,F6,L6,P6 A12,C12,D12,E12→→→→→→A34,J34,E34,E35 A13,C13,D13,E13→→→→→→A36,J36,E36,E37 このように入力されるようにしたいと思います。 実際にはもう少し同じようにコピーするところが あるので、後でセル番地を追加できるようなコード であれば非常にありがたいです。コードを教えて ほしいなんて本当にずうずうしいですが、どうぞ よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 別ブックへのシートのコピー(Excel)
エクセル上で、Aというブックのaというシートを、Bというブックにコピーしようと思っています。 過去の質問を検索したらNo2459324でわかりやすい解答があったので試してみたのですが、 AとBのブックを画面上で両方開いて、Aブックのaシート上で、「編集」→「シートの移動またはコピー」とすると、確かに小さな入力ボックスがでてくるのですが、その中の「移動先ブック名」の欄にBというブック名が表示されないので、選択先としてBブックを指定できないのです(その欄にブック名の手入力もできません)。 「(新しいブック)」を選択すると、AでもBでもない新しいブックが生成されてそちらにコピーされてしまうようです。 どのようにしたらブックAからブックBにシートをコピーできるでしょうか。
- ベストアンサー
- オフィス系ソフト
- エクセルのブック間で値のみコピー
エクセル 2003使用です。 エクセルのブック間におけるシートのコピーについてお願いします。 Book.Aのシート1の各セルは、関数の数式で入力(出力)されています。 このシートをコピーして、Book.Bにペーストしたいのですが、 コピーは、関数計算後の”結果の文字列”で行いたいです。 Book.Aのシート全体をコピーして Book.Bのシートに「形式を選択して貼り付け」 → 「値」 で可能なのですが、シート数が多いので困っています。 Book.Aのシートタブを右クリックして「移動またはコピー」で シートのコピーをすると、数式でコピーされてしまいます。 この方法で、値のみコピーのような方法はありませんでしょうか? よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- エクセル 別シートから一覧を抽出したい
部品一覧表を作成しているのですが、2シートあり 1入力シート・2部品コードシートとあります。 部品コードシートにはB列に部品番号・C列部品名・D列部品番号・E列部品名と2行ずつ使い番号・品名がB~Wまで47行分入力されています。 B1:C47、D1:E47…と2列47行にはそれぞれ【A】、【B】、…とセルの名前の定義をつけました。現在【H】までありますが、今後増える可能性があります。 入力シートに、セルの名前を指定したときに部品コードのシートから 一覧を抽出したいのですが、どの関数を使えばよいのかわかりません。 入力シート |部品コードシート G H | A Bコード C部品名 Dコード E部品名 4式入力用にあけています。 |1 1800 ユニットA 1501 電源A 5コード 部品名 |2 1801 ユニットB 1502 電源B 6 |3 G4に関数を入れてG6~G52まで部品コードのシートA1~A47を一気に表示 させたいのです。部品コードシートの行数が変わることはありません。 マクロを使わないと、関数では難しいでしょうか?
- 締切済み
- オフィス系ソフト
- エクセル VBA find は別シートを検索できますでしょうか?
こんばんわ。マクロ初心者です。 皆さんいつも親切なご回答ありがとうございます。 早速ですが質問内容を記入いたします。 ・ブックA を開いています。 選択している行のC列セルの値を検索キーワードにして、 ブックB 内を検索し、検索結果のセルの3つ左のセルの値を、 ブックA で選択していたセルの同じ行のO列(15列目)に入力したいです。 ※ブックBをアクティベートする事無く行えますでしょうか? (他の処理と組合わせて行い、回数も多いので、 ブックA⇔ブックB アクティベートの往復は避けたいです。) 下のようなマクロを作成してみましたがうまくいきません。 どうかご指導よろしくお願いいたします。 --------------------------------------------------------------- dim 検索品目 as string dim fcell as object dim i as integer i = Selection.Row '選択行の3列目セルの値を変数『検索品目』に格納 検索品目 = Cells(i, 3).Value 'オブジェクト変数『fcell』に検索したセルを格納 Set fcell = Cells.Find(What:=検索品目, After:=Workbooks("ブックB.xls").Worksheets("sheet1").Range("G2"), LookAt:=xlWhole, searchorder:=xlByColumns) '検索したセルの3行左のセルの値を変数『オーダ番号』に格納 オーダ番号 = fcell.Offset(, -3).Value 'ブック A の選択行の15列(O列)にデータ入力 Cells(i, 15) = オーダ番号
- ベストアンサー
- オフィス系ソフト
- エクセル(VBA)のブック間でのコピーペーストについて
こんにちは。VBA入門レベルのものですが、質問させてください。 ブックAとブックBを開いた状態にし、 ・ブックA⇒VBAを組む&データ貼付け先 ・ブックB⇒データコピー元 ブックBの特定セル(例:D10)からブックAの特定セル(例:E12)にコピー⇒貼付 する方法を探しています。 なお、ブックBは、ブック名とシート名が都度変わるので、「ブックAではない方の開いているエクセルファイルからデータをコピーし、ブックAに貼付ける」の構文にしたいです。 また、コピペの他に数式(イコール)で飛ぶ方式でもかまいません。 この内容でのVBAの記述方法が分かる方、どなたか教えて頂けますでしょうか。 すみませんがよろしくお願いいたします。 ※エクセル2003です。
- ベストアンサー
- オフィス系ソフト
- Excel VBAの違うBOOKへのコピーについて
お世話様です excel vbaのコピーについての質問です C:\Documents and Settings\tanaka\デスクトップ\a というbookの中にあるsheet1のa1のデータ(以後a-a1と表記)を C:\Documents and Settings\tanaka\デスクトップ\b というbookの中にあるsheet2のc1にコピーしたい、と言った場合、 (以後b-c1と表記) それぞれのbookをactiveにしないとだめでしょうか (つまり、違うbookのファイル間でのコピーの際の質問なのですが) 私にはその方法しかわからず、この後 a-a11をb-d3へ、a-e11をb-s18へというアットランダムコピーが続くのですが、非常にコードも長く、時間がかかる処理になってしまいます。 どうか教えていただけると助かります 宜しくお願いします
- ベストアンサー
- その他(プログラミング・開発)
お礼
すみません。 セルは特定されていないので、関数は使えません もう一度質問しなおします。