エクセル自ファイルを分割保管する方法についての手順

このQ&Aのポイント
  • エクセル自ファイルを分割保管するための手順について教えてください。
  • WinXPのExcel2002で、ユーザー定義関数を多用したシートを含む自ファイルを分割保管したいです。
  • 自ファイルを別名保管して不要シートを削除する方法を試しましたが、フルパス別名のみ表示されるため元のファイル名が見えなくなってしまいます。適切な対応方法を教えてください。
回答を見る
  • ベストアンサー

エクセル自ファイルを分割保管したい

WinXP Excel2002 です。 ひとつのブック(自ファイル)にユーザー定義関数を多用したシートが複数あり、配布のために分割保管しようとしています。 自ファイルに関数があり、分割のコードも記述しようとしています。(※自ファイルのボタンをクリックして配布用ファイルを作成したい) 自ファイルを別名保管して不要シートを削除しようと考えました。 MyPath=ThisWorkbok.pathでフルパスを取得 This Workbook Save As フルパス別名 としたところ、 見えるファイルは  フルパス別名 のみとなり、元の自ファイル名は見えなくなります。 手作業の結果と同じなので「あぁ、なるほど」と思うのですが適切な対応方法がわかりません。 分割のためのコードを別ファイル(B)に記述し、自ファイルのボタンに (B) のコードを割り当てればよいのか?とも思うのですが、自ファイルは月例でフォルダが変わるのですごく厄介な気がします。 自ファイルの関数を有効にしたまま マクロボタン1クリックで分割保管する方法についての手順をご教授いただきたくお願いいたします。

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

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

>This Workbook Save As フルパス別名 ThisWorkbok.SaveCopyAs フルパス別名 では

Sinogi
質問者

お礼

なんと SaveCopyAs なんてあったんですね。(^^; やりたいことが実現できました。 ありがとうございました。

その他の回答 (1)

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

必要なシートのみ新ブックにコピー ThisWorkbook.Worksheets(Array("Sheet1", "Sheet2")).Copy

関連するQ&A

  • Access-VBAでExcelファイルを作成する。

    こんにちわお世話になります。 「Excelにエクスポート」ボタンをクリックすると、Inputboxか何かが表示されて、Pathやファイル名やシート名を入力し、「実行」ボタンを押すと、新規にExcelのBookを、そのPath、ファイル名、シート名で作成する。その後、そのシートにデータを書き込むという作業をしたいのです。 AccessのデータをExcelの任意のシートを開いて書き込むという部分のVBAコードはわかりますので、新規Book作成部分のコードがわかるかたお願いします。 Office97を使用しています。

  • コードの分割について

    環境 WIN98 VC++6.0 MFC にて CFormViewにボタンを沢山貼りつけています。 ボタンを押したときに実行されるコードを、myview.cppに書いているのですが、だんだんコードが大きくなったきて、どこに何を書いたか探すのも大変になってきました。 そこで void CMyView::OnButton5() { 関数; } の関数を別のファイルにしたいのですが、例えばmykansu.cppを作って#include "mykansu.cpp"見たいな感じで使えるようにしたいのですが、これではうまく行きません。 どうすれば分割できるのですか?

  • EXCEL VBA 社員毎にファイルを分割したい

    お世話になります。 実績.xlsというブックがあります。 これは社内の各支店の売上実績を個人別に記述したファイルです。 内容は下記のような感じです。 A列=支店名 B列=担当者名 C列=売上金額 このデータが記述しているシートの端にボタンをつけてクリックすると、B列の担当者別にファイルを分割して、データも担当者毎に分けて(A-C列をそのままコピーでいいです)デスクトップにファイルを保存する、ということは出来るのでしょうか? ファイル名もA列+B列の支店名+担当者の名称で保存できれば最高です! どなたかご教授いただけませんでしょうか? 添付図の例ですと6つのファイルが保存されることになります。 環境 Windows7 Excel2013

  • VBAでエクセルからエクセルのファイルを開くには?

    D:\に db1.mdb Book1.xls があります。 db1.mdbのフォームのコマンドボタンをクリックして Book1.xlsを開きたいのですが VBAコードをご教授いただけますか? (マクロではなくVBAコードが知りたいです) エクセルからエクセルのファイルを開くなら Workbooks.Open ファイルのフルパス で出来ました。 ご回答よろしくお願いします。

  • エクセルでフォルダまたはファイルを開くマクロですが、どのように改良すれ

    エクセルでフォルダまたはファイルを開くマクロですが、どのように改良すればよろしいでしょうか? 下記マクロは、エクセルシートのJ列のあるセルをダブルクリックすると、そのセルに記入された文字列を検索して、該当のフォルダまたは、写真が開きます。(エクセルファイルと写真は同フォルダに保存している場合のみ有効) 困っていることは、J列のセルと該当フォルダまたは、写真ファイルをリンクさせたいのですが、文字列が全て一致している時のみしか開かないことです。 D<デジカメ<商品名フォルダ<写真ファイル 例えば セルJ3の文字列がABCEで、フォルダ名またはファイル名がABCDEFであった場合、文字列ABCEを含む条件で、フォルダ名またはファイル名ABCDEFを開くように改良したいのですが、 また、エクセルファイルと写真ファイルの保存場所は、全く違うフォルダにしたいのですが、 エクセルファイルと写真ファイルは、別フォルダの場合、どのように検索先フォルダのパスを入れたら良いのでしょうか? マクロに詳しい方ご教授下さい。よろしくお願い致します。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim myPath As String If Target.Cells(1, 1).Column <> 10 Then Exit Sub Cancel = True myPath = ThisWorkbook.Path & "\" & Target.Cells(1, 1).Text If Dir(myPath, vbDirectory) <> "" Then Shell "explorer.exe /e,/root," & myPath, vbNormalFocus Exit Sub End If myPath = Replace(LCase(myPath), ".jpg", "\" & Target.Cells(1, 1).Text) If Dir(myPath, vbNormal) <> "" Then Shell "rundll32.exe shimgvw.dll,ImageView_Fullscreen " & myPath, vbNormalFocus End If End Sub

  • エクセルVBAで参照ボタンを作成したい

    VBAでLAN上のエクセルファイルを指定して開くようにしたのですが、 そのファイルを参照ボタンを作成して、 ファイルを指定したいと考えています。 そのようなことはできるのでしょうか。 よろしくお願いします。 ***VBAのコード***** mypath = "\\server01\test\test.xls" ↑ このファイルを参照ボタンを使って指定したい Set wb = Workbooks.Open(mypath)

  • 決められたセル範囲のみ別ファイルに保存するマクロ

    Book内のシートSheet1,Sheet2,Sheet3を別個のCSVファイルSheet1.csv/Sheet2.csv/Sheet3.csvとして保存したいです。 過去ログを参考に以下のコードで正常に動作しました。 For Num = 1 To 3 SheetName = "Sheet" & Num Worksheets(SheetName).Copy ActiveSheet.SaveAs Filename:=myPath & SheetName, FileFormat:=xlCSV, CreateBackup:=False ActiveWorkbook.Close False Next ここで、 決められたセル範囲A1:D5に書かれたデータのみをCSVファイルとして保存する、 といったことをしたいのですが、記述の仕方を教えてください。 その範囲以外が削除されてしまっても構わないので、 その範囲以外をクリアしてから保存を実行、というコードも組んだのですが、 上書き保存されているシートに対して行うとクリアする前の状態のシートをコピーするようで、失敗しました。 Worksheets(SheetName).Copyの部分を、 Sheets(SheetName).Select Range("A1:D5").Copy と変えてみたのですが、マクロを実行したファイルが閉じてしまい、巧く動きません。 ※myPathには保存先フォルダのパスが入ります。 また、保存の際に「同名のファイルがあるが、上書きするか?」のメッセージを出さずに強制的に上書きにする方法はありますか?

  • Excel 2010 VBA:ファイル名を読み込む

    下は複数のcsvファイルを一つに合体するVBAです。これにシートの右端に読み取ったファイル名を追加するにはどうしたらよいでしょうか。 よろしくお願いします。 Sub macro1() Dim myPath As String Dim myFile As String Dim s As String myPath = ThisWorkbook.Path & "\" On Error Resume Next Kill myPath & "合体版.csv" On Error GoTo 0 myFile = Dir(myPath & "*.csv") If myFile = "" Then Exit Sub Open myPath & "合体版.csv" For Output As #1 Do Until myFile = "" Open myPath & myFile For Input As #2 Do Until EOF(2) Line Input #2, s Print #1, s Loop Close #2 myFile = Dir() Loop Close #1 End Sub

  • EXCELで他のブックを参照する方法について

    BookA.xlsx(明細)と、BookB.xlsx(集計先:関数集計+グラフ)ふたつのブックがありますが、Aを開かずにBを開くと集計されません。COUNTIFS関数等を使っているからのようですが、コードの記述で集計できませんでしょうか。 (AとBを同じブックにすれば簡単なのですが、今回は諸事情によりできません) パス・ファイル名・シート名をBookBに埋め込んで、それを呼び出すなどできませんでしょうか。コード初心者なので、具体的なサンプルをご教授頂けると助かります。大変お手数ですがよろしくお願いいたします。

  • プログラムのファイル分割。

    現在C++を学んでいるものです。 ソースファイルの分割についての質問です。よろしくお願いします。 環境はVisual Studio 2005です。 ファイルを      myheader.h      main.cpp      function.cpp と分ける事を考えると、例えば単純な int max(int num1, int num2){ if(num1 > num2) return num1; else return num2; } という関数を考えた場合、 myheader.hには関数maxの宣言int max(int num1, int num2);を。 function.cppには上記の関数maxの内容を。 そしてmain.cppで関数maxを使用するといったように分割し、実行することまでは自分でできます。 ですが、上記の関数をテンプレートを使って、どの型でも使用可能にするには、myheader.h、function.cppにはどのように記述したらよいでしょうか? テンプレートを使った関数は普通ですが、 template <class T> T max(T num1, Tnum2){ if(num1 > num2) return num1; else return num2; } というように記述したいと考えています。 よろしくお願いします

専門家に質問してみよう