• ベストアンサー

エクセル ブック間 串刺し(文字列のみ) 出来ますか?

エクセルのブック間でテキストを串刺しする方法を教えてください。 50個くらいあるブックの各々の同じシートの同じセルに同じテキストを入力したいと思っています。 計算式で大元ブックを参照する形式ではなく、各々のブックにテキストを打たなければなりません。 方法をご存知でしたら教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

> 方法をご存知でしたら教えてください。 同一BOOK内で各シートの同一アドレスのセルに串刺しで入力するなら簡単ですが、複数BOOKに対して同様なことをする方法を寡聞にして存じません。 多分無いのだと思います。 で、無ければ一件ずつ手入力するか、自分のかわりにやってくれるマクロを作るしかないですね。 わたしならものぐさなので当然マクロでやります。 以下の前提でマクロを作成しました。 ・対象となるBOOKはすべて同一フォルダー内にある。 ・そのフォルダーにはこのVBAコードを書いたBOOK以外には対象外のBOOKは存在しない。 ・書き込む先はSheet1のA1セルとしました。 ・書き込むテキストは「お好きな文字列」としてみました。 手順は以下のとおりです。簡単ですよ。 1.新しいBOOKを開き、AltキーとF11キー同時に押し(以下Alt+F11キーと記述)て Visual Basic Editor を呼び出します。 2.Visual Basic Editor のメニューから「挿入」、「標準モジュール」で出てきたコードウィンド(右側の白い広い部分)に以下のコード(Sub~End Sub)をコピペします。 '********これより下********** Sub test01() Dim mb As Workbook, wb As Workbook Dim myFd As String, myFn As String Set mb = ThisWorkbook 'このブックをmbとする。 myFd = mb.Path 'フォルダー名取得 myFn = Dir(myFd & "\*.xls") 'フォルダ内のExcelブックを検索 Application.ScreenUpdating = False '画面更新を一時停止 Do Until myFn = Empty '全て検索 If myFn <> mb.Name Then 'ブック名がこのブックの名前でなければ Set wb = Workbooks.Open(myFd & "\" & myFn) 'そのブックを開きwbとする。 wb.Sheets("Sheet1").Range("A1").Value = "お好きな文字列" wb.Close (True) '開いたブックを保存して閉じる n = n + 1 'ブック数をカウント End If myFn = Dir 'フォルダ内の次のExcelブックを検索 Loop '繰り返す Application.ScreenUpdating = True '画面更新一時停止を解除 MsgBox n & "件のブックに入力しました。", , " ( ̄ー ̄)v" End Sub '********これより上********** 3.Alt+F11キーでワークシートへもどります。 4.名前を付けて対象となるBOOKがある一フォルダー内に保存する。 5.Alt+F8キーで出てきたマクロ名(test01)を選択して実行します。

tackey08
質問者

お礼

ご回答ありがとうございます。 やはりブック間では無理なんですね。 マクロありがとうございます。 私も少しいじれるので活用させていただきます!

関連するQ&A

  • エクセルシートの串刺し計算について

    エクセルの串刺し計算について質問です。串刺し計算実行のため、シートのコピーアンドペーストを繰り返しているんですが、貼り付けるたびに、機能低下の警告マークが表示されます。機能低下の対象になるのは、主に図形、時々テキストボックスなどの機能低下表示も警告されます。シートの種類は97から2003、使っているエクセルのバージョンは2010です。シートの形式を変えるようにとの表記も見られますが、意味がよく分かりません。この状態で串刺し計算を実行して、正しく計算されるのでしょうか?マクロが使えれば最善だとは思うのですが、自分にそれだけの理解力があるのか自信がありません。ご存知の方、正しく計算されるための助言をお願いします。

  • エクセル:串刺し計算について

    お世話になります。 エクセルの串刺し計算について教えてください。 Sheet1,2は計算しないシートです。 Sheet3のA1セルにSheet4~Sheet10のA1セルの合計を出す。ここまでは簡単なのですが、ここでSheet4から右にあるシートすべてというようには出来るのでしょうか? シートが追加されても対応できるようにしたいのです。 Sheet4スタートというのは固定です。 よろしくお願いします。

  • エクセルで BOOKを関数ごとコピーしたいです

    さっそくですが本題です。 保護のかかったエクセルの文書(以下 原本)で セル内の誤字や罫線の引き間違いなどがあり 直したいのですが 保護解除のパスワードが分からない状況です。 入力用のシートがあり それらの値を 別のシート上に参照させたり 計算するようになっているのですが 隠れている行などもあり 原本の数式全てを確認できません。 シート全体をコピーして 新しいBOOKに形式を選択して貼り付けをしてみたところ 見た目は全く同じ文書ができたのですが 数式だけが 原本を参照するようになってしまいます。 =IF('[原本.xls]入力シート'!G6="","",'[原本.xls]入力シート'!G6) のような感じです。 これは 新しく作ったBOOKの全セルを自分でチェックしないと解消されないのでしょうか。 同BOOK内の同じ名前のシートから参照するように設定する良い方法がありましたら教えていただきたいです。 面倒な質問ですが 宜しくお願いします。<(__*)>

  • エクセル2010の串刺し集計で質問です。

    それぞれのシートで合計のセル番号が変わらない時には分るのですが あるシートで行数が減ったり、増えたりした場合、合計のセル番号が変わります。 その時に、串刺し計算をした場合、以前の合計のセル番号を参照してしまい きちんとした全体の合計ができないのです。 合計セル番号が変わった時にも、自動的に移動した合計セル番号を参照するようにするには どのようにしたらよいのでしょうか。 初心者の説明ですみません。 よろしくお願いいたします。

  • エクセルのブック間で値のみコピー

    エクセル 2003使用です。 エクセルのブック間におけるシートのコピーについてお願いします。 Book.Aのシート1の各セルは、関数の数式で入力(出力)されています。 このシートをコピーして、Book.Bにペーストしたいのですが、 コピーは、関数計算後の”結果の文字列”で行いたいです。 Book.Aのシート全体をコピーして Book.Bのシートに「形式を選択して貼り付け」 → 「値」 で可能なのですが、シート数が多いので困っています。 Book.Aのシートタブを右クリックして「移動またはコピー」で シートのコピーをすると、数式でコピーされてしまいます。 この方法で、値のみコピーのような方法はありませんでしょうか? よろしくお願いします。

  • Bookの参照をはずした形式でペーストする方法 エクセル

    以下2つのファイルがあります。 □Book1  Sheet1   A1セル =Sheet2!A1  Sheet2   A1セル 1 □Book2  Sheet1   A1セル =[Book1]Sheet2!A1  Sheet2   A1セル 2 Book2,Sheet1,A1セルは、 Book1,Sheet1,A1セルをコピーペーストした結果です。 この状態では、Book2,Sheet1,A1セルには"1"が表示されます。 Book2,Sheet1,A1セルに"2"を表示するために、 Book1,Sheet1,A1セルのコピーを Book2,Sheet1,A1セルに"=Sheet2!A1"としてペーストで入力したいのですが、 普通にペーストしたときは、上記の結果、 「形式を選択して貼り付け」→「数式」としても同じ結果となってしまいます。 どのようにすれば、Bookの参照をはずした形式でペーストできるのでしょうか。 よろしくお願いします。 Excel2003

  • 【Excel】串刺し計算オートフィルの結果が不正

    Excelで、月毎に各店の売上の合計を出そうとしています。 例えば4月のブックで、A店・B店…E店の各店5つのシートと、全店の合計のシート、全部で6つのシートがあるとします。 そしてそれぞれのシートは、縦方向に日付、横方向に商品名が並ぶ表形式になっています。 ここで、各シートは行数・列数、そして配置が全く同じですので、合計のシートにその日その商品の全店の売上を、所謂串刺し計算で出すことができます。 例えばB2のセル…日付は1日、商品名はaで、 売上はA店、B店…の順に 500、600、700、800、900 となっています。 すると合計のシートのセルB2に、5店の売り上げを串刺し計算すると、 合計は3,500になると思います。 では、B3のセル、日付は2日で商品名は同じくaです。 売上は1,000、900、800、700、600です。 合計のシートのセルB3に串刺し計算すると、4,000円になる筈です。 また、C2のセル、日付は同じく1日で、商品名はbとします。 売上は300、500、700、900、1,000です。 合計のシートのセルC2に串刺し計算すると、3,400円になりますね。 でもここで、オートフィルという便利な機能があります。 合計のシートで、オートフィルを行うことによって、全店の各日・各商品毎の合計を一気に計算することができます。 串刺し計算した結果も、ちゃんと連続データで出てくる筈です。 それが…4月のブックでそれをやると、表示される計算結果が不正になるのです。 即ち、上記の例から、合計シートのセルB2から縦方向にオートフィルしても、横方向にオートフィルしても、全て3,500と表示されてしまうのです。 ただ、数式だけはちゃんとなっているのですが… 合計シートのセルB2には =SUM(A店:E店!B2) と数式が入っています。 では、B3には =SUM(A店:E店!B3) C2には =SUM(A店:E店!C2) と入っているんです。 なのに計算結果が不正になっている… 1ヶ所のセルに入っている数式をコピーして、他のセルにペーストしても、数式だけは正しいのに計算結果は正しくありません。 逆に、各セル1ヶ所1ヶ所串刺し計算すると、計算結果が正常に出てきます。 つまり数式をコピーすると不正扱いされるということです。 今、4月のブックでこの現象が起きています。 過去の月のブックでは、同じ操作を行って、計算結果は正常に出たのですが… 何故、今に限ってこうなるのでしょうか… Excel2010で、この現象が起きています。OSはWin7です。 また、問題のシートは全て、2003以前のバージョンで作るようなブック形式です。 何方か教えて頂けますでしょうか? 不足がありましたら補足します。

  • Excelのブック間の串刺し計算について

    Excelのブック間の串刺し計算について VBA超初心者です。同じフォルダ内にファイルがいくつかあり、同じ形式で、sheet1のB4のセルに計があったとして、それをブック間で串刺し集計したいのですが、うまくいきません。どこが悪いのかもわからず、困り果ててます。ご指導お願いします。 Sub BookShuukei() Dim FileName As String Dim Total As Integer Dim OpenedBook As Workbook Dim IsBookOpen As Boolean FileName = Dir("*.xls") Application.ScreenUpdating = False Do While FileName <> "" If FileName <> ThisWorkbook.Name Then IsBookOpen = False For Each OpenedBook In Workbooks If OpenedBook.Name = FileName Then IsBookOpen = True Exit For End If Next If IsBookOpen = False Then Workbooks.Open (FileName) End If Total = Total + Workbooks(FileName).Sheets(1).Range("B4").Value If IsBookOpen = False Then Workbooks(FileName).Close End If End If FileName = Dir() Loop Application.ScreenUpdating = True MsgBox (Total) End Sub

  • エクセルで誤ってほかのブックを参照しているセルを見つけ出すには

    エクセルの2つのブックを結合してひとつのブックとして使っているのですが、開く都度「このブックにはほかのデーターソースへのリンクが含まれています。....」というメッセージが出ます。 メッセージが出るのは、計算式のセル参照が旧のブック名を参照してしまってるのが原因だとは、知っているのですが、膨大な行数、シート数のブック(3メガくらいの容量)ですので手作業で見つけて修正するのは大変困難で困っています。 何か、ブック全体から簡単におかしな参照をしている箇所を見つける方法はないのでしょうか。 一方のブックの改訂版がしばしば出されるためその都度、リンクした旧のブックから残りのシート部分をコピーして貼り付けるのですが、その都度 旧のブックを参照する計算式が残ってしまい、見つけて修正する作業に困っています。

  • エクセルの串刺し計算で・・・

    エクセル2000で質問です。 シート1~シート8まで同じ形式のシートが有ります。 その中でシート1のみセルE20にE列の合計が入っています。 シート2~シート8にはそれぞれE列の合計はセルE25に 入っています。 シート1のD10にそのすべての合計を計算させて表示させる場合の 方法を教えて下さい。

専門家に質問してみよう