- ベストアンサー
エクセル マクロで別ブックから転記するやり方
n-junの回答
- n-jun
- ベストアンサー率33% (959/2873)
詳細がよく分かりませんが。 Sub sample() Dim myObj As Object Dim ws As Worksheet Dim fn As String, Fp As String Dim i As Long, j As Integer Application.ScreenUpdating = False Set myObj = CreateObject("Shell.Application"). _ BrowseForFolder(0, "フォルダを選択してください", 0) If myObj Is Nothing Then Exit Sub Set ws = ActiveSheet 'アクティブなシート Fp = myObj.Items.Item.Path & "\" '保存場所のパス fn = Dir(Fp & "*.xls", 0) With ws .Range("A1").Value = "Book名" .Range("B1").Value = "項目1" .Range("C1").Value = "項目2" .Range("D1").Value = "項目3" .Range("E1").Value = "項目4" End With i = 2 Do Until fn = "" If fn <> ThisWorkbook.Name Then Cells(i, "A").Value = fn With Application.Workbooks.Open(Fp & fn) ws.Cells(i, "B").Resize(, 4).Value = _ .Worksheets(1).Range("A30").Resize(, 4).Value i = i + 1 .Close SaveChanges:=False End With i = i + 1 End If fn = Dir() Loop Application.ScreenUpdating = True End Sub こんな感じの事でしょうか? ご参考まで。
関連するQ&A
- 2つのBook間で共通のキーワードを使いデータを転記するには?
下記のようなデータがある場合、Book1/sheet1のD列へ Book2/sheet1 C列のデータを転記したい。キーワードは 各Book B列のロットNO.です。どのようなマクロを 組めばいいのでしょうか? Book1/sheet1 A B C D 1 品名 ロットNO. 数量 2 A A123 25 50(転記) 3 A A234 20 75(転記) 4 A A345 22 60(転記) ・ Book2/sheet1 A B C D 1 品名 ロットNO. 時間(HR) 2 A A123 50 3 A A234 75 4 A A345 60 ・
- 締切済み
- オフィス系ソフト
- 別のブックに、同じ数字を転記する
すいません。初心者なので教えて下さい。 別のブックに、同じ数字を転記したいのですが、簡単な方法はないでしょうか? ブック1 A B 組数 人数 1 1 3 2 4 5 ブック2 A B 1 1 3 2 4 5 と同じようにしたいです。関数など、何かありましたら教えて下さい。
- 締切済み
- オフィス系ソフト
- マクロ:別ブックのデータの値を転記
ExcelでVlook関数を使ってデータを検索していたのですが、マスタの件数(15,000件)と数式が多くなってしまいブックの容量が大きくなってしまって動きづらくなってしまったので、マスタと検索のブックに分け、マクロを使おうと思ってます。 簡単にいうと、 【マスタブック】 A列 B列 1 1 あ 2 2 い 【検索ブック】 A列 B列 1 2 い 2 検索ブックA列1行目に、「2」を入力してマクロを実行すると「い」が表示されるようにしたいのです。 開いておくのは検索ブックはのみです。 Sub 転記() Dim マスタ As Workbook Dim 検索 As Workbook Dim 行, 数字 As Long Dim Bname As String Bname = ActiveWorkbook.Name Workbooks.Open Filename:="C:\Documents and Settings\mi200274\デスクトップ\\マスタ.xls" Workbooks("マスタ.xls").Activate Set マスタ = Workbooks("マスタxls") Set 検索 = ThisWorkbook Set ws1 = マスタ.Worksheets("Sheet1") Set ws2 = 検索.Worksheets("Sheet1") On Error Resume Next 行 = 1 Do Until ws2.Range("A" & 行).Value = "" 数字 = ws2.Range("A" & 行).Value 対象 = ws1.Range("A:A").Find(数字, lookat:=xlWhole).Row ws2.Range("B" & 行).Value = ws1.Range("B" & 対象).Value 行 = 行 + 1 Loop ActiveWorkbook.Close Workbooks(Bname).Activate End Sub 以上のマクロを知人に教わりながら作ってみたのですが、マスタを一度開かないと検索はできないのでしょうか? 重たいデータなのでできれば開かずに検索して値を転記したいので、そのようなコマンド等ご存知の方教えてください。 ちなみにマクロは「新しいマクロの記録」から作る程度の初心者です。よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- マクロで別のブックに転記するやり方
エクセルのマクロで勤務表というブックのA5からA10までの"出勤"という文字を"○"に置き換えて 別の集計表というブックのA6からA36に転記する場合どのような書き方になりますか? 例えば置き換えは Sub test() With Range("A5:A10") .Replace what:="出勤", replacement:="○", lookat:=xlPart End With End Sub このような感じになると思いますが、他にやり方があればよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- マクロで5個のBOOKのデータをBOOK1に転記
エクセルマクロで対話型でBOOK2~6の5個のデータを BOOK1のシート1に順番で転記したいです。 BOOK2~BOOK6は作業者にファイルを選択させたいです。 BOOK2~BOOK6は作業の都度行数がBOOKごとに変わります。 (500~5,000行でばらつきます) 流れとしては、 1.BOOK1を開いてマクロを軌道 2.エクセルのファイルを開くウィンドーが出る 3.ファイルを選択させる(例:マイネットワーク内のBOOK2を選択) 4.ウィンドーの開くをクリックする 5.転記1回目 指定したファイルが開いてデータが BOOK1のシート1に転記される この1回目は1行目からデータがある最終行まで。 その後BOOK2は閉じられる 6.メッセージボックスで「転記完了」と表示 7.メッセージボックスの「OK」をクリックすると エクセルのファイルを開くウィンドーが出る 8.ファイルを選択させる(例:マイネットワーク内のBOOK3を選択) 9.ウィンドーの開くをクリックする 10.転記2回目 指定したファイルが開いてデータの中の2行目~最終行までを BOOK1のシート1の最終行の次の行から転記を行う。 (NO.5のBOOK2が1,000行の場合1,001行目から BOOK3のデータ2行目以降が転記される) その後BOOK3は閉じられる 11.この作業を計5回行う (転記3~5回目も転記するデータは2行目~最終行) 13.メッセージボックスで「5個のBOOKの転記が終了」と表示 14.メッセージボックスの「OK」をクリックすると Call 編集 でSub 編集 というプロシージャーが起動する Sub 編集は出来上がってます。 (BOOK1のシート1を編集します。) NO.1~NO.14のマクロ記述を教えてください。 自分で作成した記述では全然駄目でした。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA 別BOOKへのデータ転記について
VBA初心者です。 以下のことがしたいのですが、 コードをご教示いただきたくお願いいたします。 BOOKが5つあります。 BOOK1:抽出用(Sheet2に日々の受注データを入れています) BOOK2:転記100用 BOOK3:転記200用 BOOK4:転記300_400_500用 BOOK5:工事番号用 BOOK1:抽出用はA列からQ列まで工事番号ごとに2行目から受注データが入っています。 抽出用のsheet2のA列に「1」と入力することで転記したいデータだというフラグにし、 抽出用O列のコード100,200,300,400,500(工事の種類のようなものです)を見て、 該当のBOOK2から4にその工事番号が転記がされているか? (されていれば登録済みのメッセージ表示) 転記がされていなければ新規に登録、 新規登録の際に、抽出用Sheet2のD列の工事番号、I列の件名、K列の数量を表示して、 このデータを新規登録しますか?のようなメッセージを出し、Yesなら新規登録。 さらに、新規に登録した際にはその工事番号を名前とするBOOK5を新規作成、 BOOK5にも抽出用の受注内容を転記。 BOOK2から4に転記された工事番号をクリックすると その工事番号のBOOK5にジャンプするようにしたいのです。 抽出用A2とA4に「1」と入力された場合(O列は共に200) BOOK1抽出用データの転記したいセル番地 → BOOK3転記200用のセル番地 A2のデータ D2 → A7 K2 → A8 C2 → A9 H2 → A10 I2 → A11 F2 → D7 L2 → D8 M2 → D9 J2 → D10 C2 → I5 Q2 → J5 A4のデータ D4 → A12 K4 → A13 C4 → A14 H4 → A15 I4 → A16 F4 → D12 L4 → D13 M4 → D14 J4 → D15 C4 → I10 Q4 → J10 BOOK2から4は1つの工事番号を5行使用して表わしています。 ですので、1つの工事番号が7から11の行、 2つ目の工事番号が12から16行目となり、それぞれ100件分の工事番号を入れられるように 作成してあります。 またBOOK5については、(A2のデータの場合)以下のように転記し、ファイル名を抽出用D2の工事番号にしたいです。 A2のデータ D2 → A3 K2 → A4 C2 → A5 H2 → A6 I2 → A7 F2 → F3 L2 → E4 M2 → E5 J2 → E6 大変長くなってしまいましたが、以上のようなことをしたいと考えておりますが、 当方、VBA初心者でして参考書とネットを駆使して抽出用のVBA(CSVデータをコピーして加工する)ことにすら大苦戦しております。 なんとかお力を貸していただけないでしょうか? ご教示よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 複数のエクセルブックから転記するマクロを教えて
エクセル2010で、1つのフォルダ内にある複数のエクセルブック(約50支店分)の売上シートから、担当者別の日次売上等の集計マクロを作成したいのですが方法がわかりません。支店ごとの担当者数は、支店ごとに違います。ご協力お願いします ■基本条件 ・毎日、支店がブック内の売上シートに入力(更新)し保存する。売上シートには、担当者が複数名登録されており、支店によって担当者数は異なります。 ・全店とも中身は同書式同形式ファイル 例)売上報告A店.XLS、売上報告B店.XLS・・・ ■マクロ(集計.XLS)でやりたいこと ・各支店ブックの売上シートから、担当者名(A5)・売上A(B5)・売上B(C5)を転記し明細表の作成 どなたか教えていただけますでしょうか?よろしくお願いします。
- 締切済み
- Visual Basic
- Excel2003 BookからBookへ転記
A B C D 1 コード 日付 枚数 金額 2 1502 7/1 8 25500 フォルダ内でBook1 Sheet1に毎日の売り上げを入力します、コードが50超あります。コード別にBook2~Book51を作成(Book2は1502)として転記させることは可能でしょうか? Book1 Sheet2に転記することは出来ますが、BookからBookは私の力量ではむずかしいです、Book2 Shee1はデータ蓄積、sheet2は納品、sheet3は請求と活用して行きたいと思います、どうぞ宜しくお願いいたします。
- ベストアンサー
- その他MS Office製品
- 複数のBookから決まったセルの値を別のBookに
お世話になります。 EXCELで複数のBOOKから決められたセルにある値を抽出してひとつのBOOKに纏めたいのです。 BOOK1~50、 BOOKには31枚のSheetがあります。 その中のSeet31にSeet1~30のデーターを纏めてあります。 Seet31の A1~3 B1~2 C1~3 のデーターを抽出して 新しく作ったBook【集計】のSeet1にBook1~50から抽出した データーを縦に並べたいのです。 【 例 】 A1 A2 A3 B1 B2 C1 C2 C3 1 5 2 4 3 6 7 1 3 2 2 3 4 6 9 7 5 2 3 7 8 5 6 2 3 1 8 と、いった感じです。 なお、Book名は『漢字+数字』です。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBAに詳しい方教えてください。
Excel VBAについて 下記内容をマクロを使ってできるようにしたいのですが、どなたかお力添えいただけませんか? 例えば、下記のような記載のファイルBook1があるとします。 A1セル内 名前 B1セル内 〇〇会社 C2セル内 〇〇部 D2セル内 〇〇係 この内容を別のファイルBook2へ転記したいのです。 ただし、Book2の列は下記のようになっており A列 名前(すでに入力されている) B列 会社名 C列 部 D列 課 E列 係 Book1の内容をBook2の下記の条件で正しいセルへ転記したいです。 -Book1で[部]で終わっているものはBook2のB列[部]に転記 -Book2ですでに入力されている名前の行に、Book1の情報を転記 ご協力のほど何卒よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
補足
早速にご回答誠にありがとうございます。 名前通りブックを読み取ることができずひとつ飛びになってしまったので何とか修正してみます。 これから更に読み込むセルを指定したりすることは可能でしょうか? 色々探してはいますがなかなか見つかりません。 なんとか探してみます。