• ベストアンサー

EXCEL 別ブックへ転記する方法

 たとえば、入力シート.xls - sheet1 - A1:A5 に入力した値を 同フォルダ内の台帳A.xls - sheet1 - E1:E5 に  さらには、入力シート.xls - sheet1 - B1:B5 に入力した値を 同フォルダ内の台帳B.xls - sheet1 - E1:E5 に・・・ 転記する方法を教えてください。 リンク貼り付けとファイルを開く以外の方法をよろしくお願いします。 VBEは可能です。ACCESSは使用不可です。 使用環境は32bitWindowsXP Excel2003 です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

>たとえば、入力シート.xls - sheet1 - A1:A5 に入力した値を >同フォルダ内の台帳A.xls - sheet1 - E1:E5 に 「台帳A.xls - sheet1 - E1」に「=」(半角イコール)を入力。 その状態(E1編集中の状態)で「入力シート.xls - sheet1 - A1」をクリックすると、自動的に「入力シート.xls - sheet1 - A1」の参照が入力されます。 後はドラッグなりコピペなりでE5まで数式をコピーすればOKです。 >さらには、入力シート.xls - sheet1 - B1:B5 に入力した値を >同フォルダ内の台帳B.xls - sheet1 - E1:E5 に・・・ 同様なので省略。 ちなみにですが。 「転記」と言うと普通はコピー&ペーストのことを言いますのでこの場合は「参照」ですね。

usny-stk
質問者

補足

ご回答ありがとうございます。 =の方法だと、リンク貼り付けということになってしまいます。あくまでも、値を転記させてしまいたいのです。よい方法はありませんでしょうか。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

>リンク貼り付けとファイルを開く以外の方法をよろしくお願いします。 など、ややこしいことを書いているが、、自分で、質問の操作をやって、マクロの記録を取ってみたらどうなのか。 これをやって、意に満たない点があれば、質問に、書き加えておくべきではないか。 >ファイルを開く以外の方法 とはブックを開かないでセルの値を、取るということか。それなど初心者は考えないほうが良い。 それを質問する(考える)レベルなら、こんなところへ質問する必要が無いほど、よくVBAについて知っているだろう。 エクセル4.0マクロ云々の話題をしている場合があるようだが、いまさら使わないほうが良い。 これなどもしたい主旨を、質問文ではっきり文章にすること。回答者が誤解する恐れがある。 ・ブックを開かないで ・元データが修正されても連動しない(あるいは、連動したい場合もあろう)

  • myi333
  • ベストアンサー率34% (10/29)
回答No.3

ANo.2です、質問の内容をよく読むと、状況がもっと複雑なようです。 リンク張付けをした後で、台帳A.xls内で値貼り付けを自動実行マクロで出来るようにした方がよさそうです。自分の解答は取り消します。

  • myi333
  • ベストアンサー率34% (10/29)
回答No.2

ご質問は、リンク貼り付けでは元データが変更される度に内容が書き換えられるので、変更されない方法ということですね。 値貼り付けでいいと思いますが。張付けのオプションで「値」を選ぶだけです ・シート.xls - sheet1 - A1:A5 をコピー ・台帳A.xls - sheet1 - E1:E5 に値貼り付け

関連するQ&A

  • EXCEL:形式が違う別bookへの転記

    マクロほぼ初心者のため、形式が違う別Bookへの転記について悩んでいます。 どなたかご教示いただけないでしょうか。よろしくお願いいたします。 (詳細) (1)売上実績表.xls の「比較」シート     A      C     D      E     F      G      H 1 商品No.                4月              5月 2      .  2009   2010    2011   2009   2010     2011 3  100     0    1000      800      0    1200   4  101     0      0      0     0      0 5  102     800   2050    4000   500    3000 6  103 (2)売上計画表.xls の「2011」シート     C     D      E       F     G  ・・・ 1  商品No.   4月     5月    6月 2   100      800    1000   1000 3   102     4000    5000    5000 4   107     1200    500     500               (1)の2011の列に毎月実績を入力していきます。 それを(2)に転記(上書き)させたいのですが、 (1)と(2)の形式が違うためうまくできません。 今考えているのは inputboxで月を指定して、 たとえば「4月」と入力すれば (2)のC列の商品No.と(1)のA列の商品No.をみて、 (1)E列の値を(2)D列に転記させ 「5月」と入力すれば (1)H列の値を (2)E列に転記させたいのですが・・・ 恥ずかしながら、下記のように列を指定して転記させる レベルでストップして、困っています・・・ Sub 転記() Dim LastRow As Long With Workbooks("売上実績表.xls").Sheets("比較") LastRow = .Range("D65536").End(xlUp).Row Workbooks("売上計画表.xls").Sheets("2011").Range("D2:D" & LastRow).Value = .Range("E3:E" & LastRow).Value End With End Sub どうかよろしくお願いいたします。

  • 複数のエクセルブックから転記するマクロを教えて

    エクセル2010で、1つのフォルダ内にある複数のエクセルブック(約50支店分)の売上シートから、担当者別の日次売上等の集計マクロを作成したいのですが方法がわかりません。支店ごとの担当者数は、支店ごとに違います。ご協力お願いします ■基本条件 ・毎日、支店がブック内の売上シートに入力(更新)し保存する。売上シートには、担当者が複数名登録されており、支店によって担当者数は異なります。 ・全店とも中身は同書式同形式ファイル  例)売上報告A店.XLS、売上報告B店.XLS・・・ ■マクロ(集計.XLS)でやりたいこと ・各支店ブックの売上シートから、担当者名(A5)・売上A(B5)・売上B(C5)を転記し明細表の作成 どなたか教えていただけますでしょうか?よろしくお願いします。

  • Excel VBA 別ブックを開かずに転記

    Excel2007のユーザーフォームについて教えてください。 ユーザーフォームを以下のように作成しました。 ■テキストボックス6つ テキストボックス2→件名 テキストボックス3→数 テキストボックス4→名前 テキストボックス5→備考1 テキストボックス6→備考2 ■コマンドボタンが1と3の2つです。 コマンドボタン1→転記と印刷 コマンドボタン3→終了 ■シートの構成  sheet"作成と一覧"   1行目を以下の項目で使用しています。  A1→番号(テキストボックス1を表示)  B1→件名(テキストボックス2を表示)  C1→数(テキストボックス3を表示)  sheet"印刷"  A1→番号(テキストボックス1を表示)  A2→件名(テキストボックス2を表示)  B2→数(テキストボックス3を表示)  A3→名前(テキストボックス4を表示)  A4→備考1(テキストボックス5を表示)  A5→備考2(テキストボックス6を表示) テキストボックスに入力した値を2つのシートにそれぞれ転記して、 シート"印刷"を2部印刷しています。 ここまで以下のコードで行いました。 Private Sub CommandButton1_Click() '入力値を作成と一覧シートに転記 行 = ActiveCell.Row 列 = ActiveCell.Column Cells(行, 列) = UserForm1.TextBox1.Value Cells(行, 列 + 1) = UserForm1.TextBox2.Value Cells(行, 列 + 2) = UserForm1.TextBox3.Value '入力値を印刷シートにに転記 Worksheets("印刷").Range("A1") = UserForm1.TextBox1.Value Worksheets("印刷").Range("A2") = UserForm1.TextBox2.Value Worksheets("印刷").Range("B2") = UserForm1.TextBox3.Value Worksheets("印刷").Range("A3") = UserForm1.TextBox4.Value Worksheets("印刷").Range("A4") = UserForm1.TextBox5.Value Worksheets("印刷").Range("A5") = UserForm1.TextBox6.Value 部数 = 2 Worksheets("印刷").PrintOut Copies:=部数, Collate:=True UserForm1.TextBox1.SetFocus Cells(行 + 1, 列).Select End Sub Private Sub CommandButton3_Click() '終了ボタンで値をクリアしてウィンドウを閉じる Dim Ctrl As Control For Each Ctrl In Controls If TypeName(Ctrl) = "TextBox" Then _ Ctrl.Value = "" Next Ctrl Unload Me End Sub 教えて頂きたい事なのですが・・・ コマンドボタン1の入力値を作成と一覧シートに転記の所なのですが、 アクティブセルではなく、常にA列の最後の値の次の空白行に転記するようにしたい場合、 どのように書き換えればいいのでしょうか? もう一点ですが、 別ブックにテキストボックス1から6が入力された一覧があります。 この別ブックを開かずに、 テキストボックス1に入力された番号を探して、 テキストボックス2から6に表示されるようにしたいのです。 うまく説明できないのですが・・・ 別ブックの名前は"たちつ" 別ブックは、あいうサーバーの かきくフォルダの中のさしすフォルダです。 ブック"たちつ"に"一覧"というシートがあります。 一覧のシートのD列の3行目以降には番号が入力されており、日々増えています。 テキストボックス1に入力された番号を、 一覧のD列から探し、 I列の値をテキストボックス2へ K列の値をテキストボックス3へ L列の値をテキストボックス4へ M列の値をテキストボックス5へ J列の値をテキストボックス6へ転記させたいのです。 同じブックの別シートを参照するときには Application.VLookupで出来たのですが、 マクロの記録でやってみても、解決できませんでした。 コードをご覧いただいてお分かりの通り、 VBA超初心者です。 ネットを見ながら試行錯誤している状況です。 コードの間違い等あるかもしれませんが、 ご教示よろしくお願いいたします。

  • エクセルでブック上の転記

    例  (1)ブック(a)のsheet1のセルA1~G1を入力専用とする  (2)入力専用に入力する  (3)ブック(b)のsheet1のセルA1~G1に転記される  ※ブック(b)は開いてない状態  (4)(1)を繰り返す   ブック(b)のセルはブック(a)で入力される度に段が変わってる この説明でわかりますでしょうか。 VBAは初心者ですが多少はわかります。

  • Excel 別ブックの検索と貼り付け

    添付ファイルのシートが二つあります。 ※セルが一部表示されていませんが、都合上非表示にしてありますがご了承下さい。 申請書ファイルに確認というボタンを設置してあり、確認ボタンをクリックしたら以下の動作を行いたいです。 1.申請書ファイルAC27に入力されている値を台帳ファイルの台帳シートのB列から検索 2.台帳シートのB列に該当する値があったら、申請書ファイルのAL27の値を台帳シートのT列+該当した値と同じ行に貼り付け ※添付ファイルの場合、   申請書ファイルAC27の値:21-002   台帳ファイル:B8セルに該当する値あるので、T8セルに申請書ファイルのAL27の値を貼り付け 3.申請書ファイルのAL27の値を貼り付けている理由は申請書ファイルのAK27:AK29のセルの値がTRUEとなっている1列横のセルの値を貼り付けたいので、もしAK28がTRUEだった場合、AL28の値を台帳ファイルに貼り付け 上記のような事をVBAで行いたいです。 ・申請書ファイルのAC27セルの値はBOOK毎に代わります ・AK27:AK29の値は重複はありません。 ・台帳ファイルのB列の値は21-001、21-002のように1番づつ繰り上がって増えていきます。 説明が不十分だったり分かりにくい箇所があるとは思いますが、ご教示を頂きたくよろしくお願いいたします。

  • マクロなどでBook1からBook3へ転記したい

    Book1.xls の Sheet1 の A1セル に記入した数字を Book3.xls の Sheet3 の A3セル に転記する方法を教えてください。 ただし、book1.xls 記入したA1セルの数字は、0:00になるとクリアになる必要があります。 又、できれば、記入した直後に自動転記できた方がいいです。 何とぞご教示のほどよろしくお願いします。

  • EXCELで、空白セルを除いて別シートに転記する方法

    調べてみましたが、どうにも分からなかったので助けて下さい。 例:a1=a、a2=b、a3=c、a4=d、a5=eと入力してあり、 b1=1、b3=1、b4=1 と数字が入っていて、b2、b5は空白の場合、 数字が入ってるセルの値だけを抽出して、その横にあるアルファベットと一緒に、 別シートのa7~b11セルに転記するといった場合は、どうしたらいいでしょう? この場合、最終形が別シートのa7=a、a8=c、a9=d、b7=1、b8=1、b9=1となるようにしたいのです。 分かり難い説明ですみませんが、教えて下さい。 宜しくお願い致します。

  • 別シートの行を選択し対象列を転記するマクロ

    シート2のA~F列までデータがあります。 行数は10,000行です。(月ごとに100行くらい追加されます。) A列は項目がNO.で半角数字が連番で入力されてます。 セルA2→1 セルA3→2 セルA4→3 . . . セルA10000→9999 セルA10001→10000 という感じです。 シート1の セルI9に番号を入力すると シート2のその番号の行のB~F列の値を シート1のJ9~N9列に転記したいです。 例えば シート1のセルI9に100と入力したら、 シート2のA列が100と入力されているセルはA101ですから 101行目となります。101行目の各列の値を転記します。 ↓ シート1のセルJ9にシート2のセルB101の値を転記 シート1のセルK9にシート2のセルC101の値を転記 シート1のセルL9にシート2のセルD101の値を転記 シート1のセルM9にシート2のセルE101の値を転記 シート1のセルN9にシート2のセルF101の値を転記 シート1もシート2もセルの書式設定は標準。 B,E,F列は半角英数字の組み合わせで C,D列は半角数字のみです。 たまにF列に空白がある行があります。 B,F列は数字のみの場合もあります。 B,C,D,F列は数字のみの場合 「数値が文字列として入力されています」 となっています。 マクロで行いたいのですが記述そのものを教えてください。

  • 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は請求と活用して行きたいと思います、どうぞ宜しくお願いいたします。

  • VBA 別ブックへのデータ転記

    別ブックへのデータの転記についてご教示お願いいたします。 以下、やりたいことです。 Bookの構成4種類 1.抽出用 (csvデータをコピーして、転記用Bookに移す為の加工をしており、A列に〇がついたものでO列の値(1~3)別にそれぞれのBookへ転記しようと考えています。 2.転記O列1用 3.転記O列2用 4.転記O列3用 現在のコードは以下の通りで、わからない点は大まかに2点あります。 1点目は、O列の値(1~3)の値を見てBookを開く(現在は指定のBookを開くコードになっています) 2点目は、転記用への転記の方法 例えば、抽出用のA2とA4に〇がついてO列が共に1だとすると、転記O列1用のBookを開いて、 A2のデータを以下のように。 抽出用   転記O列1用 P列の値 → A7へ C列の値 → A8へ H列の値 → A9へ I列の値 → A10へ F列の値 → E5へ L列の値 → D6へ M列の値 → D7へ K列の値 → F9へ J列の値 → D8へ A4のデータを以下のように。 抽出用  転記O列1用 P列の値 → A12へ C列の値 → A13へ H列の値 → A14へ I列の値 → A15へ F列の値 → E10へ L列の値 → D11へ M列の値 → D12へ K列の値 → F14へ J列の値 → D13へ 以上のような事がしたいのですが、 現在、勉強中の初心者で…参考書を見ながら以下のコードまでしか出来ませんでした。 このコードもめちゃくちゃなのかもしれないのでお恥ずかしいのですが… なんとかこのデータを仕上げたいと思っています。 ご教示よろしくお願いいたします。 Sub ボタン2_Click() Dim myCnc1 As String Dim myCnc2 As String Dim myFileName As String Dim sheet1 As Worksheet myFileName = "受注.csv" Set sheet1 = Worksheets(2) sheet1.Activate myCnc1 = "TEXT;" myCnc2 = ThisWorkbook.Path & "\" & myFileName With ActiveSheet.QueryTables.Add( _ Connection:=myCnc1 & myCnc2, _ Destination:=Range("A1")) .TextFilePlatform = 932 .TextFileCommaDelimiter = True .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1) .Refresh End With Columns("A:A").Insert Columns("B:B").Select Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _ FieldInfo:=Array(1, 5) Columns("G:G").Select Selection.TextToColumns Destination:=Range("G1"), DataType:=xlDelimited, _ FieldInfo:=Array(1, 5) Columns("O:O").Select Selection.TextToColumns Destination:=Range("O1"), DataType:=xlDelimited, _ FieldInfo:=Array(1, 5) Dim r As Long r = Range("E" & Rows.Count).End(xlUp).Row Columns("E:E").Insert Range("E2:E" & r).FormulaR1C1 = "=LEFT(RC[-1],10)" Range("E2:E" & r).Value = Range("E2:E" & r).Value Range("D1").Copy Range("E1") Columns("D:D").Delete Columns("H:H").NumberFormatLocal = "0_ " Columns("O:O").Insert Range("O2:O" & r).FormulaR1C1 = "=Right(RC[-1],3)" Range("O2:O" & r).Value = Range("O2:O" & r).Value Range("N1").Copy Range("O1") Range("O1") = Range("N1") + "2" Range("A1").Select Dim myRng1 As Range Dim myRng2 As Range Dim mySht As Worksheet Set myRng1 = _ ActiveSheet.Range("c1").CurrentRegion With myRng1 .AutoFilter Field:=3, Criteria1:="=J*" Set myRng2 = .SpecialCells(xlCellTypeVisible) .AutoFilter myRng2.EntireRow.Hidden = True On Error Resume Next .SpecialCells(xlCellTypeVisible).EntireRow.Delete On Error GoTo 0 myRng2.EntireRow.Hidden = False End With Set myRng1 = Nothing Set myRng2 = Nothing myFileName = ThisWorkbook.Path & "\転記O列1用.xlsm" Workbooks.Open Filename:=myFileName End Sub

専門家に質問してみよう