• 締切済み

変数が混じる名前のブックへのシート移動 マクロ

いつもお世話になっております。 マクロ実行用Book=A.xls マクロ1で作成したファイル=●●日報.xls(●●の部分は、A.xls内のセル番地"AB2"にある文字列で、毎回変わります) マクロ2で作成したファイル=Book1.xls (1)A.xlsにて、●●日報.xlsを作成し、保存します(●●日報.xlsは保存後、閉じています) (2)マクロ2を実行し、Book1.xlsを作成します。 (3)Book1.xlsのシート(このブックにはシートは1枚のみです)を、A.xlsのブックの末尾に移動し、●●日報.xlsを上書保存する。 この場合、マクロのコードはどう書くのが適切なのでしょうか。 マクロ初心者のため、どなたかご教示いただけましたら幸いです。

  • ho-so
  • お礼率72% (26/36)

みんなの回答

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

質問の記述が紛らわしい。 例えば >Book1.xlsと マクロ実行用Book=A.xls は同じものですか。 ーー 作業順序を箇条書きにして、明確に書くこと (これが出来ずしてプログラムなど組めないよ) ーー 例えば Aブックを開く ●●日報を作成(プログラムで見出しなど作成+データ入力か) ●●日報を保存する(なぜこの段階で保存するのか、シート増えるのでしょう) Aブックの >Book1.xlsのシートをA.xlsのブックの末尾に移動し保存は 突然Book1が出てきたが、どういうものか(どういう作業をした後か?) >、●●日報.xlsを上書保存する Book1との関連は ==== >マクロのコードはどう書くのが適切なのでしょうか 丸投げにしたような質問しないで、マクロの記録でもとって(マクロの記録が取れるのかどうかもあるが)、どこを、どう変えたら良いのか考えて質問したら。

ho-so
質問者

お礼

ご指摘有難うございます。 ご注意もごもっともでしたので、再度勉強し直してまいります。

関連するQ&A

  • エクセル マクロで別のブックに貼り付けたい!

    作成したシートを別のブック(既存)にマクロを使って貼り付けたい のですが、いろいろ調べた結果以下のようにはすることができました。 ---------------------------------------------------------------- Sub SaveSheet() Dim sFileName As String 'ファイル名の設定 sFileName = "C:\a\test.xls" 'シートをコピーして新規ブックを作成 Sheets(Array("Sheet1", "Sheet2")).Copy '作成したブックの保存 ActiveWorkbook.SaveAs sFileName End Sub ---------------------------------------------------------------- これはとあるサイトで見つけたもので、私自身が作成したものでは ありません。 このマクロの問題は、 ○あらたにブック(シート)が作成されること (マクロ実行時は上書きになるので、変更できなくても使えないわけ ではない) ○元データはシート丸ごとであり、セル範囲を選択できない。 ○貼り付けるシートにおいても、任意の場所を起点とできない。 ということです。 整理しますと、『作成したシートの任意のセル範囲を、別に存在する ブックに、任意のセルを起点として貼り付けたい』 ということです。 どうかよろしくお願いします。m(_ _)m

  • 別のブックから、特定のシートを指定して他のブックを開くには

    マクロ初心者です。 A.xlsと、B.xlsという2つのブックがあります。 B.xlsはこの時、閉じた状態です。 Aには1つのシートのみがあって、Bには日毎に追加されていく不特定数のシートがあります。 Aのブックのシート内のセル番地A1に、「aaa」と入力した場合、B内の「aaa」という名前のシート名を指定してB.xlsを開くマクロはどう書いたら良いのでしょうか。 頼りきりの質問になってしまって申しわけございません。 何卒宜しくお願い申し上げます。

  • ブック間のシート移動

    EXCEL VBA初心者です。 ブックAのシートAをブックBのシートの一番左側に移動させようと思います。 以下を実行するとエラーが出ますがなぜでしょうか? エラーの原因と対策方法を教えて下さい。 Sub シート移動() Worksheets("シートA").Move _ Before:=Workbooks("ブックB.xls").Sheets(1) End Sub ブックAはブック名が毎回変わります。 ブックAはメール添付を開いたブックです。 ブックAはシートがシートAしかありません。 シートAは名前が変わりません。 マクロコードはブックBあるいは個人用マクロブックに置きます。 よろしくお願いします。

  • マクロで、別ブックのデータを、既存ブックの一欄に

    マクロで以下のような操作をしたいと思っております。 どのようなコードを書けばよろしいでしょうか。ご教授ください。 【顧客データ一覧.xls】というブックのシート1に顧客データ一覧表があります。 同ブックのシート1上部にコマンドボタンを作成し、ボタン押下で以下のような操作を行いたい 1.ファイルダイアログを開いて、【顧客データひとり分.xls】というブックを選択 2.【顧客データひとり分.xls】に入力されているデータを、【顧客データ一覧.xls】の顧客データ一覧表の末尾に、コピーして追加・上書保存 顧客データひとり分はセル(3,4)に年齢が入力されている等、入力箇所は固定です。 3.顧客データひとり分.xlsは閉じて、更新された顧客データ一覧.xlsを表示させる よろしくお願いいたします。マクロは作成したことがありますが、何年もブランクがあり、かなり忘れてしまいました・・・。 と、エクセル2003以来久しぶりに操作ですので、エクセルそのものに大変戸惑っております。。。実力不足でお恥ずかしいのですが、お力をお借りできれば幸いです。

  • 別のブックのセルの値をコピーするマクロについて

    ExcelのVBAのマクロに関する質問です。 複数のブックのセルの値をコピーするマクロについての質問なのですが、現在以下のファイルがあります。 サンプル1.xls サンプル2.xls サンプル3.xls データ.xls そして、 サンプル1のセルA1~D1までの値をデータ.xlsファイルのシート1のセルA1~D1まで、 セルA2~D2までの値をデータデータ.xlsファイルのシート2のセルA1~D1まで、 サンプル2のセルA1~D1までの値をデータ.xlsファイルのシート1のセルA2~D2まで、 セルA2~D2までの値をデータデータ.xlsファイルのシート2のセルA2~D2まで、 サンプル3のセルA1~D1までの値をデータ.xlsファイルのシート1のセルA3~D3まで、 セルA2~D2までの値をデータデータ.xlsファイルのシート2のセルA3~D3まで、 上記のような形でコピーしたいのですがマクロがわかりません。 データ.xlsにボタンを作成し、そのボタンを押すとこの処理が実行されるようにしたいです。 どなかた方法を教えていただけますでしょうか。ご回答お待ちしております。 ※ファイルの名前は今回はサンプル1などとしましたが実際は違う名前も使用します。 また、ファイルの数も今回は3つにしましたが増減します。

  • エクセルのマクロでフォルダの新規作成をする場合

    お世話になっております。 AAA.xlsという1つのブックがあります。 そのブックのセル番地A1に、"201118"という文字が入力されていた場合、"200118日報.xls"という名前のフォルダを、社内サーバー内に新規作成をしたいのですが、マクロはどう書いたら良いのでしょうか。 知識不足ゆえ、ご迷惑をお掛け致しますが、どなたかご教示願えましたら幸いです。

  • エクセル 特定のシートを異なるブックの指定したシートにコピーするマクロ

    エクセルの"貼り付け先.xls"の(シート名="集計")を開いている状態で、 別の異なるブックの"貼り付け元.xls"の(シート名="sheet1")の内容を全部コピーして "貼り付け先.xls"の(シート名="集計元データ")へ貼り付けるマクロは どのようになりますでしょうか? いろいろ調べて下記のように書きましたが、 インデックスが有効範囲にありませんというメッセージが出て、 デバッグを確認すると Workbooks("貼り付け元.xls").Worksheets("Sheet1").Range("A1").Copy_の部分が黄色く表示されてきます。 (1) "貼り付け先.xls"と"貼り付け元.xls"は同じパソコンのマイドキュメントに保存されています。 (2)"貼り付け元.xls"の"Sheet1"はセルA1から入力されていて、 内容は毎日変わります。 (3)Range("A1")や("A1:IV65536")のセル番地をいろいろ変えたりしても同じでした。 Sub クリップボードを経由せずにコピー貼り付けする_異なるブック() Workbooks("貼り付け元.xls").Worksheets("Sheet1").Range("A1").Copy_ Workbooks("貼り付け先.xls").Worksheets("集計元データ.xls").Range ("A1:IV65536") End Sub

  • 【エクセル】マクロでのブックとシートの移動について

    元ブックのsheet1の一覧の値を別のブックのシートに貼り付けるマクロの書き方を教えてください 下のような動きです book1.sheet1.A1 → book2.Sheet1.A1          A2           2.A1          A3            3.A1 ・ ・ ・           A50          50.A1 ※セルは任意の場所です よろしくお願いします

  • エクセルのマクロを使ってシートごとに名前をつけて保存したい

    マクロ初心者です。宜しくお願いします。 1つのブックにシートが複数あります。 それぞれシートをコピーして新しいブックを作成し そのブックに名前をつけて保存したいです。 例えばブック名が「売上管理」でそのシートが「A店」「B店」「C店」と3シートあるとします。 シート名:A店を他のブックにコピーしてマイドキュメントに名前を付けて 保存する場合のマクロを教えてください。 ちなみにその際のブック名は「シート名+任意のセル(D2)」と できれば一番助かります。 ちなみにD2のセルにはToday関数が入ってます。

  • ブックの保護(シート構成) でシートのコピー

    エクセルで外部データを参照させるために, 別のブックを開きシートをコピーし元のブックに貼り付け別のブックは閉じるというマクロを作成しました。 Workbooks.Open Filename:=a Sheets("データ").Select Sheets("データ").Copy After:=Workbooks("ファイル.xls").Sheets("メニュー") Workbooks(a).Close SaveChanges:=False a(変数)というファイルを開く シートのデータを選択 データをコピーし ファイル.xls のメニューシートの後に貼り付け a(変数)のエクセルファイルを保存せずに閉じる 動作としては正常に動きました。 しかし、この ファイル.xls には ID とパスワードで管理しています。 その管理したシートがあるんですが、それを表示させないために シートを非表示→ブックの保護→シート構成 を行いました。 マクロを動かすと、シート構成をしているので Sheets("データ").Copy After:=Workbooks("ファイル.xls").Sheets("メニュー")  が動かないことに気が付きました。 何かいい方法があればご教授お願いします。

専門家に質問してみよう