エクセルの保存時にSheet1で保存する

このQ&Aのポイント
  • エクセル2016で他のシートでファイルを保存しても必ずSheet1で保存するようにしたい
  • 保存時のマクロでSheet1にオープンマクロが組んでA列が表示されるようにする
  • 再発防止のため、A列が隠れていた場合の対策
回答を見る
  • ベストアンサー

エクセルの保存時にSheet1で保存する

いつもお世話になっております。 エクセル2016で他のシートでファイルを保存しても必ずSheet1で保存するようにしたいのですが。 目的は開くときに必ずSheet1で開いてくるようにしたいのです。 以前オープンマクロを自作したらエクセルが開かなくなってしまって非常に焦ったことがあるので出来れば保存時のマクロでお願いします。 尚、Sheet1にはオープンマクロが組んで有り必ずA列が表示されるようになっています。(問題ないでしょうか?) 過去にA列が隠れていたためにB列からデータを入力してしまい苦情になったことがあるので再発防止対策です。 その後シートが増えたので別のシートで保存してしまった場合の対策です。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (295/459)
回答No.1

ThisWorkbook に Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  Worksheets(1).Activate End Sub で。

akira0723
質問者

お礼

早々のご回答ありがとうございます。 ご回答いただいた3つとも完璧に動作する事を確認しました。 一番最初にご回答いただいたm3_makiさんにさせていただきます。

その他の回答 (2)

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

質問の表現がおかしい。 エクセルに限らず、外部記憶装置のディスクなどに保存するのは、ファイル単位でしかできません。 >Sheet1で保存する 、 の表現は、コンピューターの基礎知識を疑われる。 ーー >開くときに必ずSheet1で開いてくるようにしたいのです これなら若したいことが判る。シート「Sheet1」から作業を始めたい場合もあるだろうから、ありれたニーズだ。 WORKBOOKのOpenイベントを使えばよいのでは? >オープンマクロを自作したらエクセルが開かなくなってしまって非・・ そういう恐れは、いわれてないと思う。他の事情だろう。 「workbook_openイベント イベントプロシージャ」などで照会すれば https://excel-ubara.com/excelvba1/EXCELVBA424.html ほかたくさんの記事が出る。 その中に WorkSheets(”Sheet1”).Activate を入れておけばよい。 Private Sub Workbook_Open() Worksheets("Sheet1").Activate End Sub シート名で指定しているので、望む、かつ存在するシート名を文字列で指定しないとならない。 ーー 保存するとき、Sheet1をActivateして保存しても、開いた時には、おなじだろうが。

akira0723
質問者

お礼

早々のご回答ありがとうございます。 参考HPも参考になりました。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>エクセルの保存時にSheet1で保存する ThisWorkbookモジュールのBeforeSaveイベントを利用します。 下記コードをThisWorkbookモジュールに記述してください。 保存前、どのシートに有っても必ずSheet1のA1セルを選択して保存されますので次回開くときはSheet1のA1セルがアクティブの状態で開かれます。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)   Application.Goto Reference:=Worksheets("Sheet1").Range("A1"), Scroll:=True End Sub

akira0723
質問者

お礼

いつもお世話になっております。 セルまで指定できるコードは参考になります。 今回ご回答いただいた3つとも一発で動くことを確認しました。 どれも簡単で完璧に動きますのでBSは最初にご回答いただいた#No1さんにしますのでご了承ください。 本当にいつもありがとうございます。

関連するQ&A

  • EXCELの複数シートをそれぞれ別ブックへ保存したい

    EXCEL97を使用しています。 1つのブック内に複数のシート(10~20枚)があります。 これを全て1シートずつの別のブックに分けて保存をするマクロを作成したいのですが、できますでしょうか? できれば各シート内の(A4)に入力されている文字列を各ブックの名前として使用したいのですが・・・。 (各シートのセルA4の値に重複はありません) 現在は各シートを新しいブックにコピーして名前を付けて保存、の作業をシート数分繰り返しています。 すみませんがよろしくお願いいたします。

  • エクセル 1つのシートを日付で複数シートに分けたい

    エクセル2007を使用してます。初心者です。 1行名に列ごとのタイトルが入ってます。 A列~S列まで色々とデータが入っており、M列に日付(20140618のように)が入ってます。 このシートを日付ごとに別シートに分けたいのですが、何か計算式かもしくはマクロでできますか? できれば、R列に入っている数字を日付のあとにつけて自動で保存できると大変助かるのですが・・・。(20140618-2 というような感じ) マクロの扱い方も良く分からないので教えていただけると助かります。

  • エクセルの1シートを項目別に別シートへ分ける方法

    エクセル2010で1シートのデータを項目別に別シートへ自動的に分割する方法で困っています。 検索するとマクロを使うと書いていますが、マクロはほとんど使ったことが無いのもあって、わかりませんでした。 シート1 A列(日付8ケタ+商品番号6ケタ) B列(売上額) 20130515000004           300 20130515000006           100 20130518000004           300 20130519000001           500 20130519000004           300 ・・・                   ・・・ をA列の日付部分上8ケタを使って日別にシートを分け、 シート名をuriage20130515(uriageと日付8ケタ)という名前にしシート名+CSV形式で保存したいです。 シート2 シート名:uriage20130515 A列         B列 20130515000004 300 20130515000006 100 シート3 シート名:uriage20130518 A列         B列 20130518000004 300 シート4 シート名:uriage20130519 A列         B列 20130519000001 500 20130519000004 300 このように自動で別シートに分割した上で、シート名CSV形式で保存まで自動でできるとありがたいです。 自動化できるならシートを分割するマクロ、シート名でCSV保存するマクロが一つのマクロになっていても、分かれていてもOKです。 このようなことはできますか? よろしくお願いします。

  • エクセル マクロの入ったシートが保存できません。

    エクセル2003で、注文書フォームに入力して保存するとき、一旦は受け取って処理するようなのですが、数秒後にシートは保存されませんでした、と出てしまいます。セキュリティレベルは中、マクロは動く状態にしてあると思うのですが、何か設定がおかしいのでしょうか。会社のPCで、社内ネットワーク上で動かしてますが、私のマシンだけ保存ができないのです。悪戦苦闘の末、エクセル97では保存できました。でもワークシートの色が消えています。よろしくご教示お願いします。

  • エクセルをcsvで保存する

    こんにちは、是非教えて下さい。 エクセル2007を使用しています。 このファイルはcsvテキスト形式で提出しなければならないのですが、 エクセルsheet1にA列に値を入力して エクセルsheet2のA列に並び替えます。 この項目には前スペース右詰と指定があります。 エクセルsheet2に並び替える際にセルA列に =REPT(" ",12-LEN(sheet1!A1))&sheet1!A1 を入れました(A2、A3、、、と続きます) csvに保存して確認(メモ帳)したら、 エクセルsheet1で値を入力してない所には(下の図の「 _ 」)スペースが入ってしまいました!! (エクセル)        A 1 123456 2 (未入力) (メモ帳)                   ,______123456,,(現在) ,____________,,(現在)             ↓ ,______123456,,(現在と同じ) ,,,(理想) 上の(理想)のように詰めたいのですが よい数式を教えて下さい。 初心者なので説明をいれて頂けると少しは理解できそうです。 よろしくお願いしますm(__)m

  • エクセルのシートについて

    エクセルでシート数を指定して挿入するマクロはどうやって作ったらいいでしょうか。 例えばA1セルに挿入したいシートの数を入力するとその数のシートが作成されるというようなマクロを作りたいのですが・・・

  • エクセルで保存したものを開くと同時に2つのシートが開いてしまう

    あるものをエクセルで保存したのですが、ファイルを開くと、同時に2つのシートが開いてしまいます。ひとつだけのシートを開くようにするにはどうすればいいのでしょうか。よろしくお願いします。マクロは使用していません。

  • VBA,二つのExcelのsheetにデータ保存

    VBA初心者です。 皆様のお力をお貸し頂きたく質問させて頂きます。よろしくお願いいたします。 質問内容は、下記になります。 Excelのsheet1には、縦列A,B,C・・・とデータが入っております。 sheet1の例 A B C sheet2は、入力するsheetです。 今回はA列の3行目からとします。 問題は、sheet1の縦の列をA,B,C,Dとすればデータの更新は、出来るのですが sheet1のデータのA,B,C一つ飛んでEまた一つ飛んでGという感じでsheet1のデータを 飛ばしてsheet2に表示、更新(保存)をしたいと思います。 ですので、sheet2のA列の3行目からA,B,C,飛んでE飛んでGとsheet1からデータを 表示させ、さらにsheet2の入力値が変更されると、sheet1のデータが入っている A,B,C,E,Gに更新される仕様です。 sheet1(データが入っています) A , B , C , E , G , 値1 , 値2 , 値3   , 値4 , 値5 sheet2(入力する、入力したデータは、sheet1へ更新される) A列 3行目 、sheet1の値1(A列)が入ります。 4行目 、sheet1の値2(B列)が入ります。 5行目 、sheet1の値3(C列)が入ります。 6行目 、sheet1の値4(E列)が入ります。 7行目 、sheet1の値5(G列)が入ります。 以上です。申し訳ございませんが、ご教授よろしくお願いいたします。

  • エクセル2003にて指定されたシートを複写するには?

    エクセル2003にて指定されたシートを複写するには? はじめて投稿します。過去ログを調べたのですが、該当する質問を 発見することが出来なったので、宜しくお願い致します。 【質問内容】 エクセル2003にて、「シート1」は、以下のようになっています。   A  B   C 1 10 りんご 秋田 2 20 みかん 青森 3 30 バナナ 岩手 4 40 キウイ 島根 5 50 イチゴ 鳥取 マクロ(VBA?)で実施したいのは、「10」「20」・・・と いった文字列を「シート名」として、「シート2」に保存されている レイアウトをコピーし、「10」「20」とシート名として、コピーし、 反映させた上で、「シート1」のA1である『10』を新しくコピーされた シートである「10」のA列の5行目に「10」を持ってきたいと思っています。 (※B列以降は、VLOOKUPで持ってこようと思っています。) 800シート近くになり、毎週の処理な上、ひとつひとつやるには、時間ばっかり 必要になるので、マクロ(VBA?)で解決したいと思っております。 (※例のように5シート分であれば、手でやるのですが、、、) すみませんが、ご享受の程、宜しくお願い申し上げます。

  • エクセルのマクロでシート保護解除時に・・・

    エクセルのマクロでシート保護解除時に・・・ EXCEL2000を使っています。 ワークシートの保護を解除したタイミングで、マクロを自動実行することは可能でしょうか? 現在このような状態になっています。 特定の列(AとB)に保護がかかっています。一般社員はC列以降に入力可能で、パスワード を知っている管理職はA、B列に入力ができるようにしています。 A,B列にはリストボックスを設定しているのですが、これだとパスワードを知らなくても リストボックスで変更する事ができてしまいます。 そういうわけで、パスワードを外したときにリストボックスが表れるようにマクロを設定 したいと思っています。 VBAをいじった事がほとんどありませんでしたので、これまでのところは色々な方のコード を見ながら進めてきたのですが、「パスワードを解除した時に発動する」という条件を 見つける事ができなかったため、困窮した挙句この場で質問させて頂きました。 すみませんが、どなたかアドバイス頂けないでしょうか。 よろしくおねがいします。

専門家に質問してみよう