タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらのお願いをご覧になってください。
1
常にマクロを有効にして立ち上げる方法
2 マクロでBookをCloseするには?
3
どのシートでブックを閉じても起動時シート1が開くようにする方法
4
エクセルのファイルを開いた時にフォームを同時に出すには?
5
ブックを「閉じるとき」に自動的に保存するには
6
BookとExcelの画面を一気に閉じるには?
7
保存確認のメッセージを表示しないでブックを閉じるには?
8
何よりも先にユーザーフォームを表示するには?
9
ファイル名の入ったセルを指定してブックを開くには
10 フォルダ内のEXCELファイルを全て開くには?
11 新規も含め、全てのExcelを起動した時、マクロを実行するには
12 リンクすると、リンク元のブックが勝手に閉じてしまう
13 ブックを開いた時に最小表示にするには
14 他のExcelファイルを開くには
15 起動時、システムメニューを表示しなくするには?
16 フォルダの中のフォルダにあるファイルを全て開くには
17 右クリックでエクセルを終了するには(保存して終了、保存しないで終了、別名で保存して終了)
18 ファイルが開いているかどうかをチェックして、開いていなければ開くには?
19 指定の時間以降、ファイルを開けなくするには?
20 ファイルを開く際、他のファイルへの自動リンクの更新メッセージを表示しない方法は?
1 | 常にマクロを有効にして立ち上げる方法 |
Excel97 メニューから、[ツール]、[オプション]、[全般]、[マクロウィルスから保護する] のチェックを外します。 Excel2000 メニューから、[ツール]-[マクロ]-[セキュリティ]でセキュリティレベルを低にする |
|
2 | マクロでBookをCloseするには? |
複数のブックを開いていてすべてのブックを終了 Sub test() Workbooks.Close End Sub アクティブなブックだけ終了 Sub test() ActiveWorkbook.Close End Sub ブック名を指定して終了 Sub test() Workbooks("システム.xls").Close End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
3 | どのシートでブックを閉じても起動時シート1が開くようにする方法 |
Private Sub Workbook_Open() Sheets("sheet1").Select Range("a1").Select End Sub このコードの使い方は、マクロの使い方(3)This Workbookのモジュールにあります。 |
|
Sub auto_open() Sheets("sheet1").Select Range("a1").Select End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません) Private Sub Workbook_Open と Sub auto_open では、 Private Sub Workbook_Open の方が先に実行されます。 |
|
4 | エクセルのファイルを開いた時にフォームを同時に出すには? |
Private Sub Workbook_Open() UserForm1.Show End Sub このコードの使い方は、マクロの使い方(3)This Workbookのモジュールにあります。 |
|
Sub
auto_open() UserForm1.Show End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません。) |
|
5 | ブックを「閉じるとき」に自動的に保存するには |
Sub Auto_Close() ActiveWorkbook.Save End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません。) |
|
6 | BookとExcelの画面を一気に閉じるには? http://www.keep-on.com/~excelyou/2000lng1/200005/00050057.txt 「BookとExcelの画面を一気に閉じるには?」 【編集】 |
Sub 保存終了() ActiveWorkbook.Save Application.Quit End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
7 | 保存確認のメッセージを表示しないでブックを閉じるには? |
Sub test1() '保存しないでブックだけ閉じる Workbooks("BOOK1.XLS").Close SaveChanges:=False 'SaveChanges:=False は、False だけでもOK End Sub Sub test2() '保存してブックだけ閉じる Workbooks("BOOK1.XLS").Close SaveChanges:=True 'SaveChanges:=True は、True だけでもOK End Sub Sub test3() '現在のブックを保存してExcel自体も閉じる ThisWorkbook.Saved = True Application.Quit End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
8 | 何よりも先にユーザーフォームを表示するには? |
ブックを開いた時にブックを非表示にします。 Sub Auto_Open() Windows("Book1.xls").Visible = False Load UserForm1 UserForm1.Show Windows("Book1.xls").Visible = True End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません。) |
|
9 | ファイル名の入ったセルを指定してブックを開くには http://www.keep-on.com/excelyou/2000lng4/200009/00090076.txt 「セルを指定してブックを開くには」 【VBA】 |
Sub test() MyF$ = "c:\www\" & ActiveCell.Value & ".xls" if dir(MyF$) <> "" then Workbooks.Open Filename:=MyF$ End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
10 | フォルダ内のEXCELファイルを全て開くには? |
My Documentsの中の全てのExcelファイルを開きます。 Sub Book_Open() Dim BookName As String Dim PathName As String PathName = "C:\My Documents\" BookName = Dir(PathName & "*.xls") Do Until BookName = "" Workbooks.Open PathName & BookName BookName = Dir() Loop End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
My Documentsの中の全てのExcelファイルを開きます。 Sub Book_Open() Dim i As Integer With Application.FileSearch .NewSearch .LookIn = "C:\My Documents\" .Filename = "*.xls" .FileType = msoFileTypeExcelWorkbooks If .Execute() > 0 Then For i = 1 To .FoundFiles.Count Workbooks.Open Filename:=.FoundFiles(i) Next Else MsgBox ("該当ファイルが見つかりません。") End If End With End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
11 | 新規も含め、全てのExcelを起動した時、マクロを実行するには |
PERSONAL.XLS
の標準モジュールに Sub auto_open() 実行したい処理 End Sub と記入すると、次回起動時から実行されます。 PERSONAL.XLS というのは[ツール]−[マクロ]−[新しいマクロの記録] そのダイアログの中にある「マクロの保存先」のプルダウンボタンが 普通(デフォルト)だと「作業中のブック」だと思いますが、 その中に「個人用マクロブック」というのが有ります。 そのブック(ファイル)が PERSONAL.XLS です。 もしないようでしたら、ちょっとしたマクロの自動記録をして その保存先を「個人用マクロブック」にすると、 個人用マクロブック(PERSONAL.XLS) が作られます。 |
|
12 | リンクすると、リンク元のブックが勝手に閉じてしまう |
Excel97(この現象は、Excel2000では出ません) リンク元のブックは、変更がないと閉じてしまうので、どこかにNOW関数を張付け、 保存時から変更を生じさせることにより、閉じないようにする。 |
|
13 | ブックを開いた時最小表示にするには |
Sub
auto_open() Application.WindowState = xlMinimized End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません。) |
|
14 | 他のExcelファイルを開くには |
同じフォルダに入っているファイルの場合 Sub test() Workbooks.Open Filename:=ThisWorkbook.Path & "\Book2.xls" End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
別のフォルダに入っているファイルの場合、フルパスで指定します。 Sub test() Workbooks.Open Filename:="C:\My Documents\Book2.xls" End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
15 | 起動時、システムメニューを表示しなくするには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200205/02050090.txt 「ブックを開くとき、EXCELのシステムメニューが表示されないようにするには?」【VBAラウンジ】 |
Private
Const GWL_STYLE = (-16) Private Const WS_SYSMENU = &H80000 Private Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" _ (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" _ (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function GetActiveWindow Lib "user32" () As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long Private Sub HideSysMenu() Dim Ret As Long Dim hwnd As Long Dim Wnd_STYLE As Long hwnd = GetActiveWindow() Wnd_STYLE = GetWindowLong(hwnd, GWL_STYLE) Wnd_STYLE = Wnd_STYLE And Not WS_SYSMENU Ret = SetWindowLong(hwnd, GWL_STYLE, Wnd_STYLE) Ret = DrawMenuBar(hwnd) End Sub Private Sub RestoreSysMenu() Dim Ret As Long Dim hwnd As Long Dim Wnd_STYLE As Long hwnd = GetActiveWindow() Wnd_STYLE = GetWindowLong(hwnd, GWL_STYLE) Wnd_STYLE = Wnd_STYLE Or WS_SYSMENU Ret = SetWindowLong(hwnd, GWL_STYLE, Wnd_STYLE) Ret = DrawMenuBar(hwnd) End Sub Public Sub Auto_Open() HideSysMenu End Sub Public Sub Auto_Close() RestoreSysMenu End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません。) |
|
16 | フォルダの中のフォルダにあるファイルを全て開くには |
「ツール」−「参照設定」でMicrosoft
Scripting Runtimeにチェックし ておきます。 Sub FoldersUnderFolder() Dim MyFS As Scripting.FileSystemObject Dim MyFolders As Scripting.Folders Dim MyFolder As Scripting.Folder Dim MyFile As Scripting.File Set MyFS = New Scripting.FileSystemObject Set MyFolder = MyFS.GetFolder("F:\Tmp\Test") Set MyFolders = MyFolder.SubFolders For Each MyFolder In MyFolders For Each MyFile In MyFolder.Files If MyFile.Type = "Microsoft Excel ワークシート" Then Workbooks.Open MyFile.Path End If Next Next Set MyFile = Nothing Set MyFolders = Nothing Set MyFolder = Nothing Set MyFS = Nothing End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
17 | 右クリックで終了するには(保存して終了、保存しないで終了、別名で保存して終了) http://www.keep-on.com/~excelyou/2000lng4/200009/00090164.txt 「右クリックでエクセルを終了させたいのですが****」 【VBA】 |
Private Sub
Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal
Target As Range, Cancel As Boolean) Cancel = True Dim sentaku As Integer On Error GoTo TRAP sentaku = InputBox(prompt:="処理を選んでください" & Chr(10) & _ "" & Chr(10) & "1)保存して終了する" & Chr(10) & _ "2)保存しないで閉じる" & Chr(10) & _ "3)別名で保存する", Title:="処理の選択", Default:=1) Select Case sentaku Case 1 Call 保存して終了する Case 2 Call 保存しないで終了 Case 3 Call 別名で保存して終了 End Select Exit Sub TRAP: Cancel = False End Sub このコードの使い方は、マクロの使い方(3)This Workbookのモジュールにあります。 Sub 保存して終了する() ActiveWorkbook.Save ActiveWorkbook.Close End Sub Sub 保存しないで終了() ThisWorkbook.Close SaveChanges:=False End Sub Sub 別名で保存して終了() Application.Dialogs(xlDialogSaveWorkbook).Show ActiveWorkbook.Close End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
18 | ファイルが開いているかどうかをチェックして、開いていなければ開くには? http://www.keep-on.com/~excelyou/2000lng4/200006/00060029.txt 「他ブックからの参照方法」 【VBA ラウンジ】 |
マイドキュメント内の、得意先マスター.xlsを開きます。 Sub test() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "得意先マスター.xls" Then wb.Activate Exit For End If Next If ActiveWorkbook.Name <> "得意先マスター.xls" Then Workbooks.Open "C:\My Documents\得意先マスター.xls" End If End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 |
|
19 | 指定の時間以降、ファイルを開けなくするには? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200203/02030020.txt 「時間が来たら入力出来ないようにするには?」 【VBA ラウンジ】 |
このコードは、ファイルを開く際自動的に実行されます Sub Auto_Open() Dim MyD As Date MyD = #2002/03/02 0:54:00# 'ここで日付と時刻を指定 If Now() >= MyD Then MsgBox "締め切りが過ぎましたので" & Chr(10) & "ブックは使用できません", 48 ThisWorkbook.Close False End If End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません。) 上のコードを書き込んだファイルは、指定時間以降は他のファイルから次のコードで開きます |
|
20 | ファイルを開く際、他のファイルへの自動リンクの更新メッセージを表示しない方法は? http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200205/02050186.txt 「リンクされているBOOKのOPEN時のメッセージをOFFにするには」 【VBA ラウンジ】 http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200101/01010244.txt 「リンクの自動更新」 【VBA ラウンジ】 |
【更新する場合】 1. ツール → オプション → 編集 タブの「リンクの自動更新前にメッセージを表示する」のチェックをはずす。 ※ この場合、全てのファイルでこの設定になります。 |
|
別のファイルを作成し、そこに書き込んで、そこから開きます。 【更新する場合】 Sub Auto_Open() Application.ScreenUpdating = False Workbooks.Open Filename:="C:\My Documents\メッセージを消したいファイル名.xls", UpdateLinks:=3 ThisWorkbook.Close Application.ScreenUpdating = True End Sub このコードの使い方は、マクロの使い方(1)標準モジュールにあります。 (ただし、上記のマクロの使い方で、4番目の「Alt+F8 でマクロ名を選んで、実行します」は、必要ありません) 【更新しない場合】 UpdateLinksの引数によって、以下の設定になります |