• ベストアンサー

エクセルVBAのイベントについて

tool_aの回答

  • ベストアンサー
  • tool_a
  • ベストアンサー率100% (1/1)
回答No.1

Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets("顧客用").Visible = False End Sub こんな感じのことですか? 保存する必要はありますが

reprogress
質問者

お礼

tool_aさんこんばんは。ありがとうございます。 >こんな感じのことですか? そうです。ありがとうございます。 簡単なことかもしれないですが、保存の仕方も教えていただけるとありがたいです。

関連するQ&A

  • エクセルVBAでブックの分割

    下記のようなデータがあります。 支店code 顧客名 属性 顧客コード A01 ああああ 1 0123456 A01 いいいい 1 0123457 A01 うううう 2 A01 ええええ 1 0123459 A55 かかかか 1 A55 きききき 2 0123461 A55 くくくく 3 0123462 B22 ささささ 4 0123463 B22 しししし 1 0123464 C56 たたたた 2 0123465 D88 なななな 1 0123466 全部で約800件ほどです。実際には顧客コード以降にも多くのデータがあります。 これを支店コードごとに別ブックに分割し、さらに顧客コードごとにそれぞれ別シートにしたいのです。(シート名は顧客名) 中には顧客コードが未記入のものがあり、その場合はそのデータは無視します。 とても手におえません。お助けいただけると幸いです。

  • エクセル2003のVBA

    お尋ねします。 契約書管理台帳をエクセル2003で作成中です。 シート1には、日付、契約書名、顧客コード、顧客名等 シート2には、顧客コード、顧客名等、顧客名カナ等、顧客情報がリストになっています。 契約書が来たときに、顧客コードをシート2より、ひっぱりたいのです。 リストを考えたのですが、500件ほどあり、とても選べません。 なので、イメージとして カナ検索、例えばフォームに、グーといれれば、グー株式会社を検索し、 0001というコードをセルに表す、という感じです。 VBAを使わなくて良ければ、それが一番いいのですが、色々検索すると、 使わないとできなさそうなので。。。。 どなたか、ご教授ください。よろしくお願いします。

  • エクセルVBA 検索データの表示方法

    大変困っているので、どなたか教えてください。顧客管理ツールを作っています。 顧客データを保有するエクセルブックAがあり、1顧客につき51個のデータを持っています。オートフィルタのあいまい検索によりヒットしたデータを別のエクセルブックBの(シート名:HITDATA)へコピーします。 (シート名:HITDATA)に抽出された各顧客データを同じブックBの(シート名:USER)に1顧客ごとの情報がわかるようにデータを表示させます。そして「次へ」「前へ」「最初へ」「最後へ」のコマンドボタンを押すことで、(シート名:HITDATA)に抽出されたそれぞれのデータ参照からの表示をコマンドボタンの意味通りに変更させたいのですが、どうすればいいのでしょうか? 「最初へ」と「最後へ」は、End(elUP)とEnd(elDown)を使って何とかできるのですが、「次へ」と「前へ」が出来ません。どのようなコードを書けばよろしいか、どなたか教えてください。

  • EXCELのイベントの保存について

    EXCEL2000で新規にBOOKを作り、microsoft excel objectsのsheet1に、次のイベントを書きました。 Private Sub Worksheet_Calculate() If Sheet1.Cells(1, 2).Value = 1 Then Sheet1.Cells(1, 3).Value = "当たり” End If End Sub B1のセルは、A1のセルの値をコピーするようにしています。 A1のセルに1を入力されると、C1のセルに”当たり"が表示されるのですが、 BOOKを登録した後、BOOKを閉じ、そのBOOKを開けた後に、A1のセルに1を入力しても、C1のセルに”当たり"が表示されません。 イベントを登録する際に、足りない操作があるのでしょうか? よろしくお願いします。

  • EXCEL VBA 他のブックを検索し、値を代入する方法

    EXCEL VBA 他のブックを検索し、値を代入する方法 下記の様な2つのブックがあった時に ブック1(入力用) 顧客コード,作業員コード,チェックボックス ブック2(顧客マスタ) 顧客コード,顧客名,顧客住所,備考 ブック1は日報の様な物です。 ブック2は顧客マスタの様な物です。 ブック2に登録されている顧客数が10件とすると、ブック1は顧客コードを 名前としたブック名で計10個創成されています。 ブック1のチェックボックスにチェックを入れると、ブック1の顧客コードをブック2の顧客コードの中から検索し、そのレコードの「備考」フィールドにブック1の作業員コードを代入する、といった処理を行いたいのですが、 「他のブックを開けて」の後の「検索をかけて、ヒットしたらそのいくつとなりのセルに値を代入」の 記述の仕方が分かりません。 どなたかご教授よろしくお願いします。

  • VBA シートイベント

    シートイベントについて教えて下さい。 A3〜A100まで計算式が入っています。 そのため、A3〜A100のセルにカーソルが動いた時に注意メッセージを表示しています。シートイベントで設定しています。 ファイル保存時、入力漏れチェックのプログラムも入れています。 入力漏れチェック実行時、自動的にA列に設定したシートイベントも実行され、メッセージボックスが表示されてしまいます。 入力漏れチェック時は、A列のシートイベントを実行不可にしたいです。 良い方法はありませんでしょうか。

  • エクセルVBA(?)を使って

    エクセルで特定の商品コードをセルに入力すると その商品コードに対する商品名称(日本語)を 表示させたいのですが、具体的にどのような コーディングにすればいいのでしょうか?? 入力シートから 商品コード・商品名称が入力してある シートを参照させて商品名称を取得したいのです。 可能ならば 該当する商品コードに対する名称が 取得できなかった場合、何かのメッセージボックスを 表示させたいのですが・・・。 エクセルのバージョンは97です。 OSはWin98です。 商品コードに対する商品名は1対1で 商品コード・商品名称の入っているシートと 商品コードを入力するシートとは 同一ブックです。 100件以上のコードに対して紙ベースで 商品名称を捜すのに 泣いています(≧_≦) 助けて下さい!!!

  • エクセルVBAで質問です

    あるブックのシートに入力するようにしています。そこには関数や、 リストなどさまざまな設定がされています。そのブックにコードを書いてマクロ実行ボタンもそのシートに付けたいと思っています。 このシートをデスクトップにコピーして別ブックとして作成したいのですが、コードを教えていただけないでしょうか。できるかわかりませんが、関数が設定されてある箇所は関数としてではなく、値としてコピーされると都合がいいです。 また、作成されたブック(コピーしたシート)には、マクロのボタンなんかが残らない形ではできないものでしょうか?

  • エクセルで別ブックを検索するマクロ、VBA

    エクセルで以下の処理を行えるマクロを作成したいです。 当方、マクロについてほとんど知識がありません。 恐縮ですが、教えていただけると嬉しいです。 ・主にしたいこと  [検索]ブックで一致するコードを探して、  [結果]ブックの対応するコードの行にそれぞれの項目を返したい。 ●ブック1 [検索]  シートが12個あります(それぞれ、1、2、3…12というシート名=1~12月分)  ↓各シートの内容    A    B    C    D 1  氏名  数値  コード  内容 2  abc   111  SS1234 あいうえお 3  bcd   123  SS3456 かきくけこ ・ ・ ・ といった感じです。 12個のシートの中身はそれぞれ似たようなものですが、 「コード」や「内容」などは少しずつ違います。 ●ブック2 [結果]  ↓シートの内容    A    B    C    D 1  氏名  コード  内容  数値 2      SS3456 3      SS1234 ・ ・ ・ といった感じです。 (注)検索用ブックとは列の並びが異なっています。 ここでやりたいことの詳細ですが、 ・[結果]ブックの「コード」(B列)にコードを入力すると、  [検索]ブックで一致するコードを検索し、  A列「氏名」、C列「内容」、D列「数値」に、[検索]シートの内容を  自動的に表示させたい。  (ただし[結果]ブックに入力した「コード」は、[検索]ブックの1~12のうち、   どのシートにあるかわからない) ・入力したコードが見つからない場合は何も表示しない。 ということです。 最初VLOOKUP、MATCH等の関数で表示することを考えましたが、 シートが複数にまたがっているのと、 列の並び方が[検索][結果]ブックで違うのでわかりませんでした。 長くなってしまい申し訳ありませんが、どうかおしえてください。 よろしくお願いします。

  • エクセルの数式を教えてください。

    請求書内訳を作成しているんですが、 どの数式を使ったら、下記の操作ができるかがわからず、つまずいています。 ■Sheetの詳細 Sheetは2種類あります。 Sheet1:請求書内訳 (顧客名、契約金額、合計金額)*顧客へ送るもの。 Sheet2:顧客名のコード表 (顧客コード、顧客名、契約金額) ■したいこと 「顧客コードを入力すると、顧客名と契約金額が表示される仕組み」を作りたいのです。 VLOOKUPを使ってみたのですが… Sheet2のデータを参照し、Sheet1の顧客名欄に顧客名を表示することはできましたが、 Sheet1へのコードを入力により、Sheet1へデータ(顧客名)を表示させる(Sheet2より引き出す)ことができませんでした。 *Sheet1の顧客名欄で使用した式はこちらです。 =VLOOKUP(Sheet2!A4,Sheet2!$A$4:$C$44,2,FALSE) 説明が分かりにくくて申し訳ありませんが、Sheet1へのコード入力のみで、 Sheet2からSheet1へデータ(顧客名、契約金額)を抽出、表示することはできるのでしょうか?