• 締切済み

エクセルマクロ初心者です。教えてください。

エクセルマクロ初心者です。 仕事で使うエクセルにマクロを本をまねたりウェブで調べたりして見よう見まねで組んでみました。 稟議書ナンバー(L1)をファイル名として別フォルダに保存してそのまま閉じるマクロを作成できたのですが、別フォルダに保存したときに一緒にマクロも保存されてしまいます。 マクロは保存せずに別フォルダに稟議書シートのみ保存したいのですがどのようにすればよいのでしょうか。 以下がファイル保存のマクロです。 Sub booksave() ' ' booksave Macro ' マクロ記録日 : 2009/3/30 ユーザー名 : ' ' Dim myFileName As String '稟議No. myFileName = Range("l1").Value '稟議No.を変数に取得する ChDir "F:\稟議書" Sheets("表").Copy ChDir "F:\稟議書\稟議書保存" ActiveWorkbook.SaveAs Filename:="F:\稟議書\稟議書保存\" & myFileName & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False ActiveWorkbook.Close End Sub どうぞよろしくお願いいたします。

みんなの回答

  • hotosys
  • ベストアンサー率67% (97/143)
回答No.3

こんなのではどうでしょうか? Sub booksave() Dim myFileName As String '稟議No. myFileName = Range("l1").Value '稟議No.を変数に取得する Sheets("表").Copy With ActiveWorkbook.VBProject.VBComponents("Sheet1").CodeModule .DeleteLines 1, .CountOfLines End With ActiveWorkbook.SaveAs Filename:="F:\稟議書\稟議書保存\" & myFileName ActiveWorkbook.Close End Sub

ciebow
質問者

お礼

hotosysさん こちらも試してみます。 ありがとうございます。 いろいろな方法があるのですね 参考になります。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

Sub try() Dim wb As Workbook Dim ws As Worksheet Dim i As Integer Set ws = ActiveSheet Workbooks.Add Set wb = ActiveWorkbook If wb.Worksheets.Count > 1 Then For i = wb.Worksheets.Count To 2 Step -1 Application.DisplayAlerts = False wb.Worksheets(i).Delete Application.DisplayAlerts = True Next End If ws.Cells.Copy wb.Worksheets(1).Range("A1") wb.Worksheets(1).Name = ws.Name wb.SaveAs Filename:="F:\稟議書\稟議書保存\" & ws.Range("l1").Value & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False wb.Close Set wb = Nothing Set ws = Nothing End Sub ご参考になれば。

ciebow
質問者

お礼

n-junさん とても参考になります。 明日、会社に行って試してみます。 ありがとうございます。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.1

こんにちは 私もマクロ初心者です。 肝心なマクロプログラムが作成されている場所はどこでしょう? コードから見て、"表"シートにあるような.. 同じブック内でも標準モジュールとかに置いたらコピーされないような気がします。 外していたらごめんなさい。

ciebow
質問者

お礼

A88No8さん ご回答ありがとうございます。 早速確認してみます。 お礼が遅くなってすみません。

関連するQ&A

専門家に質問してみよう