- ベストアンサー
エクセルVBAでマクロなしのブックでマクロを使う方法
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Excel(エクセル) VBA入門:VBE(Visual Basic Editor/VBエディタ)の使い方 http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_vbe.html Excelで、Alt+F11とキー操作すればVBEが起動されます。 VBEのプロジェクトエクスプローラウインドウで、 VBAProject(PERSONAL.XLSB) とあれば、それが個人用マクロブックです。 プロジェクトエクスプローラウインドウ内で、モジュールをドラッグ、他のVBAProject上でドロップ といった操作で、モジュール(マクロコードを含んだ)そのものがコピーされます。 プロシージャ単位では、コードウインドウで、Sub~End Subまでを選択してコピー、他のモジュールを開いて、貼り付けます。
その他の回答 (3)
- xls88
- ベストアンサー率56% (669/1189)
>回答番号:No.1 この回答へのお礼 前半の質問は、回答番号:No.2でrukukuさんがコメントされています。 後半の質問については下記ページでどうでしょうか。 ショートカットキーでマクロを実行しよう http://allabout.co.jp/computer/msexcel/closeup/CU20060925A/
- rukuku
- ベストアンサー率42% (401/933)
はじめまして >あらかじめコードが書いてある場合はどのようになりますか? すでに個人用マクロブックにマクロがあるときに「マクロの記録」でアラタニマクロを追加しようとすると、モジュールが自動的に追加されます。 >これは記録する時しか設定できないでしょうか? >欲を言えば右クリックやショートカットキーなどでマクロが… 後からでもショートカットの変更ができます。 http://www.officepro.jp/excelmacro/run/index1.html 個人用マクロブックの既存のモジュールにコードを貼り付けることもできます。 1.「ツール」-「マクロ」-「Visual Basic Editor」または「Alt+F11」でVisual Basic Editorを起動する 2.「プロジェクト」の枠の中から、「VBAProject (PERSONAL.XLS)」を選択 3.「標準モジュール」を選択 4.モジュールを選び、貼り付け …「個人用マクロブック」のファイル名が「PERSONAL.XLS」です。
- xls88
- ベストアンサー率56% (669/1189)
>これをマクロなしの様々なブックで使いたいのです。 個人用マクロブックにおけばよいです。 個人用マクロブックについて http://kaisha-seturitu.net/xls/vba/v_07.htm
お礼
こんばんは。ありがとうございます。これは記録する時しか設定 できないでしょうか?あらかじめコードが書いてある場合はどの ようになりますか? 欲を言えば右クリックやショートカットキーなどでマクロが 呼び出せたらいいのですが、そういったことはできないでしょうか?
関連するQ&A
- Excelで検索マクロを作りたい
Excelで検索マクロを作るのに Sub test01() Application.Dialogs(xlDialogFormulaFind).Show End Sub を記述しましたが検索画面で「半角と全角を区別する」にチェックが入ってしまっていますが、チェックがない状態で立ち上げるにはどうしたら良いでしょうか?
- ベストアンサー
- オフィス系ソフト
- 検索マクロの終了について
台帳からの検索方法として、ご教示いただいた下記のマクロを使用させていただいていますが、検索終了後において、「閉じる」か「×」をクリックし検索を終了させないと先にすすみません。 この、「閉じる」か「×」のクリックをしないで、何処でもセルをクリックすると検索が終了するようには出来ないものでしょうか。 チョッとしたことですが、検索行為の度に、非常に不便に感じております。 どなたか、よろしく、お願いいたします。 Sub Sample1() ' // ダミー検索 ' // MatchByte:全角・半角を区別する Range("A8:C1700").Select ActiveCell.Find What:=ActiveCell.Value, _ LookIn:=xlValues, _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ MatchByte:=False ' // 検索ダイアログ表示 Application.Dialogs(xlDialogFormulaFind).Show End Sub
- ベストアンサー
- オフィス系ソフト
- エクセル「検索と置換」の表示を消すマクロ
エクセルの「検索と置換」を Application.Dialogs(xlDialogFormulaFind).Show で出現させて検索の作業をしています。 作業後に「検索と置換」の画面をマクロで消したいのですが どのようなコードになるでしょうか。 宜しくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- VBAの組み込みダイアログの引数Argについて
エクセルVBAでの質問です。 エクセルとして名前をつけて保存なら Sub aaa() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.xls", ARG2:=1 End Sub テキストファイルとして名前をつけて保存なら Sub bbb() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.txt", ARG2:=3 End Sub CSVファイルとして名前をつけて保存なら Sub ccc() Application.Dialogs(xlDialogSaveAs).Show ARG1:="ABC.csv", ARG2:=6 End Sub でうまくいきます。 今度は、ファイルを開こうとxlDialogOpenに変えました。 Sub aaa2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.xls" ', ARG2:=1 End Sub Sub bbb2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.txt", ARG2:=3 End Sub 以上二つはファイル名入りのダイアログは出ました。でもダイアログの画面にはフォルダーしか表示されません。 Sub ccc2() Application.Dialogs(xlDialogOpen).Show ARG1:="ABC.csv", ARG2:=6 End Sub これは実行時エラーになりました。 どうも、Application.Dialogs(xlDialogSaveAs)とApplication.Dialogs(xlDialogOpen)では引数ARG2が違うようです。 Application.Dialogs(xlDialogOpen)でのARG2は何の指定なのでしょうか?またその数値の意味はなんでしょうか?
- ベストアンサー
- その他MS Office製品
- excelマクロ、任意セルの値で名前を付けて任意のフォルダに保存
マクロの初心者ですが、どうか教えてください。 テンプレートブックを名前を付けて保存するマクロで 苦戦しております。 ・ダイアログを必ず開く ・その時の保存先はz:\あああ ・ブック名はアクティブシートの任意のセルA1 --------------------------------------------- Application.Dialogs(xlDialogSaveAs).Show _ Arg1:=Range("A1").Value ここまではたどり着けたのですが、ダイアログが 当初のテンプレートブックの保存場所が開いてしまいます。 どうぞよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- Excel VBA ブックが閉じれない
Excel2016を使用してVBAを使用しています。 VBA初心者ですが、よろしくお願いします。 質問内容は以下になります。 EXCEL起動と同時にUserFormを表示させ、UserForm上のコマンドボタンから ダイアログボックスを表示し、他ブックを開く処理なのですが、 他ブックを開くまでは問題ないのですが、他ブックが閉じれない状態になります。 Private Sub Workbook_Open() UserForm1.Show End Sub Private Sub UserForm_Initialize() 各種処理 End Sub Private Sub CommandButton1_Click() Dim OpenFileName As String SetCurrentDirectory (Worksheets(1).Cells(11, 3)) OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xls?") Workbooks.Open OpenFileName End Sub UserFormを閉じると開いたブックも閉じることが可能です。 タスクマネージャーから強制的に終了しようとすると、以下メッセージが出ます。 ”開いているダイアログボックスがあるため、Microsoft Excel を終了できません。[OK]をクリックしてから、Microsoft Excelに切り替えてダイアログを閉じて下さい。" UserFormを閉じないで他ブックを閉じるには、どうすれば宜しいでしょうか。 申し訳ございませんがご教授下さい、よろしくお願いいたします。
- 締切済み
- Excel(エクセル)
- 他のブックのマクロを呼び出すと他のブックの画面がアクティブになってしまう。
エクセルのツールバーにボタンを2つ作って他のブック1,2のマクロをそれぞれ割り当てました。 エクセルの表を開いておいてツールバーから マクロ1(編集・出力)を呼び出すとブック1がアクティブになってしまい真っ白のシートが見えてしまいます。 もう一方のブック2のマクロ2はフォームを表示するマクロですがそちらはバックに隠れています。 以前同様にシート上のCH(13)を消すマクロを使っていた時もバックに隠れていました。 Application.ScreenUpdating = Falseを入れましたが一瞬ですがやはりアクティブになります。 見た目も悪いので表示したくないし、ブック1と2で動作が違う理由がわかりません、 マクロ1はこれです。 ブック1のcreateというマクロを使うのが目的です。 Sub Output() Application.ScreenUpdating = False Call create MsgBox "完了しました。" ThisWorkbook.Close End Sub マクロ2 Sub Form_Open() Frm_Form1.Show vbModeless End Sub つまらない質問ですが気になるのでよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAで無限ループ
教えてください。 以下の2つのエクセルマクロはまったく同じことをさせようとしているのですが、test02の方は.Offset(1).Activateが働かないのか、無限ループに陥ってしまいます。 単にActiveCell.という記述をWith~End Withでまとめただけなのになぜこうなるのでしょうか? Sub test01() ActiveSheet.Cells(1, 1).Activate Do While ActiveCell.Value <> "" If Not IsNumeric(ActiveCell.Value) Then ActiveCell.Offset(0, 1).Value = "文字" ElseIf ActiveCell.Value > 0 Then ActiveCell.Offset(0, 1).Value = "正数" ElseIf ActiveCell.Value < 0 Then ActiveCell.Offset(0, 1).Value = "負数" Else ActiveCell.Offset(0, 1).Value = "その他" End If ActiveCell.Offset(1).Activate i = i + 1 Application.StatusBar = i Loop End Sub Sub test02() ActiveSheet.Cells(1, 1).Activate With ActiveCell Do While .Value <> "" If Not IsNumeric(.Value) Then .Offset(0, 1).Value = "文字" ElseIf .Value > 0 Then .Offset(0, 1).Value = "正数" ElseIf ActiveCell.Value < 0 Then .Offset(0, 1).Value = "負数" Else .Offset(0, 1).Value = "その他" End If .Offset(1).Activate i = i + 1 Application.StatusBar = i Loop End With End Sub
- ベストアンサー
- オフィス系ソフト
- エクセルのブックを閉じるマクロについて
エクセルのブックAとブックBが開いている状態で、 ブックAのボタンに登録して実行すると、ブックAのみ閉じる、 というマクロを作りました。(下部にコードを記載します) このマクロは、2つのブックが開いていると正常に稼働するのですが、 ブックが1つしかない場合、実行時エラーが出てしまいます。 (ブックAのみ開いた状態でこのボタンを押してもエラーなく閉じたい) 実行時エラーが出ないようにするにはどうすれば良いか、 おわかりの方がいらっしゃいましたら教えて下さい。 どうぞよろしくお願い致します。 Sub このブックのみ閉じる() Dim wa As String wa = "ほかに無い" Dim wb As Workbook For Each wb In Workbooks If wb.Name <> ThisWorkbook.Name Then wa = "ほかにあるよ" End If Next If wa = "ほかに無い" Then Application.DisplayAlerts = False Application.Quit '終了予定 End If Range("D2").Select Selection.ClearContents ThisWorkbook.Close SaveChanges:=False End Sub
- ベストアンサー
- Excel(エクセル)
- フォルダ作成と別名保存【VBA】
教えてください 現在、下の2つのマクロを使っています。 「O27」の値でフォルダを作るものとブックを別名保存するものです。 これを1つにまとめたいのですが単純に1つにまとめるとフォルダは作成されるのですがブックの別名保存がセルの値を参照してくれません。 また、MkDir でフォルダを作成すると同じ名前のフォルダが先にあるとエラーになってしまいます。 この2点を解消できる方法はないでしょうか? よろしくお願いいたします。 Sub 別名フォルダ() MkDir Worksheets("オーダーシート").Range("O27").Value End Sub Sub 別名保存() Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("O27").Value End Sub
- ベストアンサー
- その他MS Office製品
お礼
ありがとうございました。よくわかりました。