ExcelのVBAを修正、追加してそのまま保存するとファイルサイズが増えていきます。そのためにこのファイルを実行するとエラーが発生してしまうことがある。
私はこれを回避するために一度マクロモジュールを抜いてシートだけ保存し、モジュールのインポートを行い合成してファイルの管理をしています。これがマクロを変更する度におこなうのが手間である。何方か良い方法があれば教えてください。

A 回答 (1件)

先ずは、マクロの整理をしてみては如何でしょうか。

使用しないマクロは削除するとか。次に(他のファイルでも)頻繁に利用するマクロは、個人用マクロブックに保存して、実行時はそこから呼び込むといった方法があります。さらに、コマンドボタンに登録して、ツールバーの一部としても利用することができます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q英語の読み方

日本語は一文字で一つの読み方でわかりやすいのですが英語には読み方の決まりはあるのでしょうか?あるのであれば読み方を詳しく書いているサイトや本、もしくはここに書いてくれると嬉しいです

Aベストアンサー

「えいごのよみかたの」でグーグル検索しかけたら「英語の読み方のルール」の検索結果がたくさんヒットしました。これなんか、どうでしょう。
http://www.uda30.com/bay/Spell-Yomi/Spell-Yomikata.htm

Qエクセルマクロでファイルを保存して閉じるときにファイル名に変数を付加して保存したいです。

エクセルマクロでファイルを保存して閉じるときにファイル名に変数を付加して保存したいです。

具体的にはファイルが閉じられるときに固定した名称の後ろに日付などを入れた形で保存したいと考えています。
どのように書けばよいのかわからなくて困っています。
教えてください。
宜しくお願いいたします。

Aベストアンサー

 yurarin99 さんのスキルにもよろうかと存じます。

1)先ず、お望みの名前でブックを保存するという動作を、普通に[新しいマクロの記録] を採ってみてください。
 ここで、ファイル名にスラッシュ「/」を使うことはできませんので、「(09/11/13)」というような形式で日付文字列を付加することはできませんね。スラッシュを省くかアンダーバーやピリオドなどのお好みの文字に換えて保存なさってください。

2)次に、上記で保存したマクロのコードの中で「(09_11_13)」の部分を
(" & Replace(Date, "/", "") & ")

(" & Format(Date, "yy_mm_dd") & ")
などに書き換えてマクロを実行するとお望みのことが達成されます。

3)自ブックでの操作でしたら、「Workbook_BeforeClose」イベントなどに記載しておけば、終了時に、自動的に保存できます。しかし、保存済みブックに逐一マクロが付随しますので、他のブックにマクロを記載しておいて、保存するブックをアクティブにしたタイミングで「ActiveWorkbook」を保存するのが好ましいかとも存じます。

 yurarin99 さんのスキルにもよろうかと存じます。

1)先ず、お望みの名前でブックを保存するという動作を、普通に[新しいマクロの記録] を採ってみてください。
 ここで、ファイル名にスラッシュ「/」を使うことはできませんので、「(09/11/13)」というような形式で日付文字列を付加することはできませんね。スラッシュを省くかアンダーバーやピリオドなどのお好みの文字に換えて保存なさってください。

2)次に、上記で保存したマクロのコードの中で「(09_11_13)」の部分を
(" & Replace(Date, "/",...続きを読む

Q英語の読み方をカタカナで書くことについて

英語の単語の読み方をカタカナで読み方を書く人がよくいますよね?
たとえば

run ラン

こういった行為はよくないといわれていますなんででしょうか?

またカタカナで読み方を書くのではなくアルファベッドのローマ字読みで読み方を書くという行為もありますがこれはいいのでしょうか?

Aベストアンサー

少し、私も知っていることを言わせていただきます。
ソシュールの教えの中に、「シニフィアン」と「シニフィエ」という言葉があります。
「シニフィアン」とは、表記されたものという意味で、「シニフィエ」とは、その意味を持つ概念を表します。

>run ラン

>こういった行為はよくないといわれていますなんででしょうか?

そんなことは、誰が言ったのしょうね。単に、英語学習の権威付けだけではないでしょうか。
一部の人は、メディアによる吹き込みで、誤解があるのでしょう。

ソシュールの理論からすれば、おかしな話なのです。発音記号で?って、音声学の専門教育を受けた人が、国際音声記号(IPA)で書けるならともかく、別に、一般の発音記号などで表記しても、厳密性などはありませんね。日本人には違う音に聞こえても、英語ネイティブには同じに聞こえるらしいのですが、国際音声記号では、絶対に違う表記になります。

日本語でも、「ん」の表記はされていても、様々な音声を持っています。その違いを日本人自身は、特別な訓練をしなければ、認識できません。当然、ローマ字表記でもカバーすることはできません。私は、英語の発音を何度も調べてみましたが、違う音声なのに、同じに表記される発音記号は多くありますから、何を以って、カタカナ表記が悪いとするのか分かりません。場合によっては、カタカナ表記の方が正確かもしれません。

Wyswyg (what you see is what you get)という言葉がありますが、これをもじって、Wylwyg(what you listen [for] is what you get)ではないでしょうか?あなたの聞いたものが、本当なんだろうと思います。
つまり、音声言語である限りは、どんな表記であろうが、表記自体に何の罪もありません。聞いたことがないものは、発音記号であろうが、国際音声記号(IPA)であろうが、フォニックスであろうが、ハングルであろうが、再現できなければ何の役も立ちません。

究極的には、相手に、自分の意味している音声が通じるかどうかの問題で、有名な同時通訳の人の本でも、英語のカタカナ表記はされています。それが、結構、通じるのです。

「上杉謙信」が、" West Kensington"として通じたでも、それは、それで、Communicable なら良いのだと思います。日本語の発音で何が悪いのでしょう。相手が意味が取れないとなって、始めて、相手とのコンセンサスが取れる発音をするわけで、表記(シニフィアン)に問題があるわけではありません。表記を限定するということには、何か、英語教師の欺瞞が隠されているように感じます。

神経質な英語ネイティブの教師にあたれば、意味は通じていたのに、あれこれ上から目線で文句を言われるかもしれませんし、『なんで英語をやるの』の著者の中津燎子氏のように、英語そのものの有効性を無視して、自分が認める範囲の発音でない生徒なら、即刻ダメだしして、もう教えないという教師もいるかもしれませんが、本当に、英語をコミュニケーションのツールとして考えるなら、そのような配慮はいらないはずです。一方では、英語はグローバルな言語と位置づけながら、もう一方で、米国発音を強要するというのは、矛盾しているように思います。そうした、米国による英語至上主義はやめたほうがよいと思います。

少し、私も知っていることを言わせていただきます。
ソシュールの教えの中に、「シニフィアン」と「シニフィエ」という言葉があります。
「シニフィアン」とは、表記されたものという意味で、「シニフィエ」とは、その意味を持つ概念を表します。

>run ラン

>こういった行為はよくないといわれていますなんででしょうか?

そんなことは、誰が言ったのしょうね。単に、英語学習の権威付けだけではないでしょうか。
一部の人は、メディアによる吹き込みで、誤解があるのでしょう。

ソシュールの理論からすれば、...続きを読む

Qフォルダ内のexcelファイルを順に開いてマクロ有効ブックに別名保存して閉じるマクロを作りたい

マクロは難しい・・・

https://oshiete.goo.ne.jp/qa/2598781.html
上記URLでフォルダ内の全ファイルを開くマクロがありましたので参考にしていたのですが別名で保存の段階で詰まってしまいました。貴重な休日がああ~~
現在仕事の引き継ぎでマクロ非対応のファイルをマクロ有効にしようとしているのですが多いと1フォルダに100個、全部で400以上あるため自動でできたらなあと考えています
やりたい作業は、

1.同じフォルダにあるファイルを開く
2.別名で保存でマクロ有効ブックとして保存(名前は開いたファイルのまま)
3.閉じる
4.次のファイルを開く
5.1~4をフォルダ内のファイル全てに適用するまで繰り返す

というものです
URL先のコードに別名で保存のコードを入れればいいんじゃん!やったぜひとりでできるもん!と思い追加したいマクロを記憶しながらコードを見て作ってみたのですが同じ名前で保存されたり end sub が必要などとエラーが出て上手くいきませんでした(´;ω;`)

Aベストアンサー

失礼しました。パスの指定が不完全でした。これでどうでしょう。

Sub sample()
Dim Fs, Fl, Fn, wb
Set Fs = CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path).Files
For Each Fl In Fs
Fn = ThisWorkbook.Path & "\" & Fl.Name
If Right(Fn, 5) = ".xlsx" Then
Set wb = Workbooks.Open(Fn)
Fn = Left(Fn, Len(Fn) - 5) & ".xlsm"
Application.DisplayAlerts = False
wb.SaveAs Filename:=Fn, FileFormat:=xlOpenXMLWorkbookMacroEnabled
wb.Close
Application.DisplayAlerts = True
End If
Next
End Sub

失礼しました。パスの指定が不完全でした。これでどうでしょう。

Sub sample()
Dim Fs, Fl, Fn, wb
Set Fs = CreateObject("Scripting.FileSystemObject").GetFolder(ThisWorkbook.Path).Files
For Each Fl In Fs
Fn = ThisWorkbook.Path & "\" & Fl.Name
If Right(Fn, 5) = ".xlsx" Then
Set wb = Workbooks.Open(Fn)
Fn = Left(Fn, Len(Fn) - 5) & ".xlsm"
Application.DisplayAlerts = False
wb.SaveAs Filename:=Fn, FileForma...続きを読む

Q英語の読み方

英語の読み方を説明や教えてくれるホームページなどがあったら、教えてください。               
もしない場合は「palaces」の読み方だけでも教えてください。

Aベストアンサー

「フォニックス(phonics)」で検索すると、色々出てくるんじゃないでしょうか?

日本語には50音表があり、基本的に全ての単語が50音表の音だけでできています。他の音は使いません。

他の言語も同様で、英語の場合、フォニックスとか42 SoundsとかPV法とか言い方は色々ありますが、全ての単語がその音だけでできています。他の音は使いません。

(言語学で言うと「音韻」と言います。)

例えば、方言にもよりますが、一般米語の母音はこの表の13(14?)母音だけです。他の音を使ってはいけません。
http://www.americanaccent.com/vowel_chart.swf


又、英語のつづりは日本人が思っているほどめっちゃくちゃではありません。しっかりしたルールがあるます。

母音なら、
a,e,i,o,uの5文字にそれぞれ2種類の読み方があります。これで10通り。
加えて、oi,ou,ooの二重音字(2文字で1音)が3つ、計13母音です。

例えばaという字は[ei]か「ae]の2種類の読み方があります。つづり字でaを見たら、まずこの二つのどちらかを疑います。
例:[ei]で読む単語はmake、take、hate等
[ae]で読むのはapple、bad、dad、stand等

ただ、日本語も英語も、「アクセント」の位置が重要な言語ですが、日本語と英語の決定的な違いは、英語は基本的に「アクセントのある母音だけつづりのルール通りに読んで、
アクセントが無い部分は、つづりがなんであろうとuの発音(bus等のu)を弱めに発音したものになる」ということです。

日本語は例えば「赤」と「垢」のアクセントの違いは、「音程」ですが、英語は音程は別に変えなくてもいいです。でもこの「母音の読み方」を変えることが重要です。


palacesは、
アクセントの位置は1つ目のaです。
ということは、1つ目aだけルール通り[ei]か「ae]で読み(この単語の場合は[ae])、2つ目のaとeはアクセントが無いので、つづり字に関わらずuの発音になります。

読みどおりにつづると、
PAL-uh-suz
となります。

(uhはbusのu)。

「フォニックス(phonics)」で検索すると、色々出てくるんじゃないでしょうか?

日本語には50音表があり、基本的に全ての単語が50音表の音だけでできています。他の音は使いません。

他の言語も同様で、英語の場合、フォニックスとか42 SoundsとかPV法とか言い方は色々ありますが、全ての単語がその音だけでできています。他の音は使いません。

(言語学で言うと「音韻」と言います。)

例えば、方言にもよりますが、一般米語の母音はこの表の13(14?)母音だけです。他の音を使ってはいけません...続きを読む

Qエクセルで<名前をつけて保存>するマクロに、保存時マクロを含めて保存させることは可能ですか

エクセル、マクロとも初心者です。
(VBAはわかりません)

エクセルのテンプレートファイルを開いて、必要箇所だけ入力すると、その日の日付をファイル名として、<名前を付けて保存する>ようなマクロを作りました。

このままだと、マクロも一緒に保存されてしまいますよね。

マクロを含まずに、<名前を付けて保存>させるマクロって可能ですか?
できるとしたら、どうやればいいでしょうか。

Aベストアンサー

こんにちは。

今は(Excel 2002以上)は、直接、VBEditor 側にアクセスするコードはセキュリティの関係で嫌われることもあります。Excel 2007 の場合は、拡張子で分別できますから、マクロは切り落とされます。今回は、テンプレートということで、あえて、このようなコードになるのであって、本来は、アドインなどで処理したほうが良いかもしれません。アドインの場合は、ThisWorkbook をActiveWorkbook にすればよいはずです。

シートモジュールにマクロがある場合は、
      sh.Copy After:=wb.Sheets(wb.Worksheets.Count)
と、その下の行のコメントブロックとを切り替えてください。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Dim shCnt As Integer
  Dim wb As Workbook
  Dim i As Integer
  Dim sh As Worksheet
  Dim nSh As Worksheet
  Dim fName As String
  
  If Not ThisWorkbook.Name Like "*.x?t" Then
    Cancel = True
    fName = ThisWorkbook.Name
    fName = Left$(fName, Len(fName) - 1)
    shCnt = Application.SheetsInNewWorkbook
    Application.SheetsInNewWorkbook = 1
    Set wb = Workbooks.Add
    wb.Worksheets(1).Name = "temp"
    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Sheets
      sh.Copy After:=wb.Sheets(wb.Worksheets.Count)
      ''シートモジュールマクロがある場合(上のコード切り替えすること)
      'Set nSh = wb.Sheets.Add(After:=wb.Sheets(wb.Worksheets.Count))
      'nSh.Name = sh.Name
      'sh.Cells.Copy nSh.Cells(1, 1)
    Next sh
    wb.Sheets(1).Activate
    Application.ScreenUpdating = True
    Application.DisplayAlerts = False
    wb.Worksheets(1).Delete
    Application.DisplayAlerts = True
    Application.SheetsInNewWorkbook = shCnt
    ChDir Application.DefaultFilePath
    i = 1
    '同名ファイルを探す
    Do Until Dir(fName & i & ".xls") = ""
     i = i + 1
    Loop
    fName = fName & i & ".xls"
    
    Application.Dialogs(xlDialogSaveAs).Show fName, 1
    ThisWorkbook.Close False
    Set wb = Nothing
  End If

End Sub


#3さんのご指摘のマクロですが、マイクロソフトの定義(プログラマーズガイド)からすると、今回のイベント型は、マクロと呼ばないそうです。マクロは、引数を持たないパブリックなSub プロシージャのことだけを指しますので、除外されます。しかし、多くの方は、あまり、これについては、明言は避けているようです。理由は、マクロそのものの意味が、ミクロの反対で、全体のひとつのタスクを指すから、厳密な意味を持たせると、言葉としての原義と離れてしまうように思います。

こんにちは。

今は(Excel 2002以上)は、直接、VBEditor 側にアクセスするコードはセキュリティの関係で嫌われることもあります。Excel 2007 の場合は、拡張子で分別できますから、マクロは切り落とされます。今回は、テンプレートということで、あえて、このようなコードになるのであって、本来は、アドインなどで処理したほうが良いかもしれません。アドインの場合は、ThisWorkbook をActiveWorkbook にすればよいはずです。

シートモジュールにマクロがある場合は、
      sh.Copy After:=wb.Shee...続きを読む

Q英語の文字の読み方についてお願いします。図々しいのですが、英語の読み方

英語の文字の読み方についてお願いします。図々しいのですが、英語の読み方を全て書いていただけませんか(サイトがあれば教えて下さい)。例:ja=ヤ,ジャ の用にjaで「ジャ」や「ヤ」と発音するみたいにお願いします。

Aベストアンサー

フォニックスやるのがいちばんいいんじゃないですか?

フォニックスって何?
http://allabout.co.jp/children/kidsenglish/closeup/CU20020620a/index.htm
http://www.genkienglish.net/phonicsj.htm

Qエクセル:保存するときに、標準モジュールに書かれたマクロの実行

よろしくお願いします。
エクセルのVBAについての質問です。

◆(上書き)保存をするだけ(ツールバーのフロッピーマークを押すだけ)で、『自動的に標準モジュールに書かれたある特定のマクロを必ず実行してから保存する』という方法はありますか?あれば教えてください。

◆私が作った簡易システムをエクセル初心者の入力担当者のために上記のことを考えています。たとえば、「保存終了させる前に必ずこのボタンを押してこのマクロを実行してね」と説明してもうっかり忘れることが多いという方のための方策を考えてのお願いです。

以上、よろしくお願いいたします。

Aベストアンサー

ThisWorkbookのモジュールに以下でよろしいのではないかと・・・。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call (実行したいプロシージャ)
End Sub

Q英語由来の外来語の読み方

例えば、アメリカ大統領のリンカーンの名前の読み方について、次の二通りをよく目にします。
(1)アブラハム・リンカーン
(2)エイブラハム・リンカーン

 (2)は、より英語の発音に忠実な読み方、と言えると思いますが、(1)のような読み方は、何か呼び方がありますか? 「ヘボン式」とは違いますか? 何か適切な呼び方があればそれをご教授頂きたいのと、ほかにもこのような例をご存じであれば挙げて頂きたいこと、それと、それに関する解説か、サイトの紹介などを、よろしくお願い致します。

Aベストアンサー

(1)は一般的に【ローマ字読み】といわれる類です。

http://www.ikeda19.com/como_leer.html

http://komachi.yomiuri.co.jp/t/2013/0217/574050.htm?g=08

QExcel保存時に任意セル値をファイルのプロパティと別ファイルに転記するマクロは?

会社でExcelのテンプレートから見積書を作成して、保存した後、ファイルのプロパティと、別に作成している「見積書データベース」ファイルに転記しているんですが、時間がかかるので、自動化出来ないか悩んでいます

理想はファイルの保存時に自動的に転記することなんですが

1、ファイルのプロパティの概要タブの中の「タイトル」、「表題」、「カテゴリ」、「コメント」の中に任意セルの値を転記

2、別に作成している「見積書データベース」ファイルの各項目に任意セルの値を転記

この2つが出来るようなマクロ、もしくはエクセルの機能は無いでしょうか?

Aベストアンサー

こんばんは。

#1のzap35さんのアドバイスを、この私が繰り返してもしょうがないのですが、

>あらかじめ用意している見積書のテンプレートファイルを開き、1つの見積を1つのファイルにして、1つのフォルダに保存していきます。

マクロのコードを書くというのは、ちょうど、車で目的の場所に行く道順を描くようなものだと思います。

今は、お買い物リストを渡されて、自宅に帰りたいと言われているだけのような気がしています。

zap35さんの「マクロを掲載して、どう直せばよいか再度質問されたらいかがでしょうか」という意味は、道順の個々の中継地や目的地を知るうえの材料になるからで、マクロが完全に出来るというものとは違います。また、「プロパテイ」に関しては、単なるドアの開け方であって、それ自体が重要なのではありません。

回答者さんたちは、技術はあっても、知らない土地にいると思ってください。そのためには個々の場所や地名の情報が必要です。プライバシや機密の問題があって、それは仮の名前でもよいのです。もう少し、相手の事情を理解してください。サンプルを書くのがやぶさかではないのですが、それは無駄な繰り返しになる可能性が強いからです。

このようなことを書くのは、決して本意ではありませんが、何とかしてあげたくても、今は、どうにも出来ないのです。お分かりください。

こんばんは。

#1のzap35さんのアドバイスを、この私が繰り返してもしょうがないのですが、

>あらかじめ用意している見積書のテンプレートファイルを開き、1つの見積を1つのファイルにして、1つのフォルダに保存していきます。

マクロのコードを書くというのは、ちょうど、車で目的の場所に行く道順を描くようなものだと思います。

今は、お買い物リストを渡されて、自宅に帰りたいと言われているだけのような気がしています。

zap35さんの「マクロを掲載して、どう直せばよいか再度質問されたらい...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング