いつもお世話になっております。
おしえてくれませんでしょうか
エクセルを起動するとUserForm1が立ち上がり
エクセルはApplication.Visible = False
でかくしてあります。
CommandButton1_Clickすると特定のファイルが開きます。
CommandButton3_Clickすると特定のファイルが開きます。
ここまでは良いのですが、
CommandButton1_Click OR CommandButton2_Click
どちらかのファイルを閉じると
本体のエクセルが表示されてしまいます。
これを非表示のままにするにはどうすれば
よいのかおしえてくれませんでしょうか
Private Sub UserForm_initialize()
With Application
.WindowState = xlNormal
g_sngTopSV = .Top
g_sngLeftSV = .Left
g_sngWidthSV = .Width
g_sngHeightSV = .Height
End With
Application.Visible = False '--------------------------1
UserForm1.Show vbmoderess
Cancel = True
CommandButton2.Visible = False
End Sub
Private Sub CommandButton1_Click()
CreateObject("Shell.Application").Open "G:\マイドライブ\2022\【2022code】\A.xlsx"
Application.WindowState = xlMaximized
End Sub
Private Sub CommandButton3_Click()
CreateObject("Shell.Application").Open "G:\マイドライブ\2022\【2022code】\B.xlsx"
Application.WindowState = xlMaximized
End Sub
Private Sub UserForm_Activate()
'-----------------------------------------------------------------------------------------------
' フォームの後ろにExcelウィンドウを隠す
With Application
.Top = Me.Top + 1
.Left = Me.Left + 1
.Width = Me.Width - 2
.Height = Me.Height - 2
End With
End Sub
-------------------------------------------------------------------------
Private Sub CommandButton2_Click()
If TextBox1.Value = "39" Then
Application.Visible = True
Else
Exit Sub
End If
End Sub
Private Sub TextBox1_Change()
If TextBox1.Value = "39" Then
CommandButton2.Visible = True
Else
Exit Sub
End If
End Sub
No.3ベストアンサー
- 回答日時:
No.2
- 回答日時:
一部訂正。
Private Sub CommandButton2_Click()
wb.Close False
Set wb = Nothing
'xlApp.Visible = False '←なくてもいいかも
xlApp.Quit '←追加して★
Set xlApp = Nothing
End Sub
補足について。
丸ごとコードをユーザーフォームモジュールにそのまま貼り付けて下さい。
それはグローバル変数にしてます。
なのでどの Sub~End Sub の中ででも使用できる変数名です。
★を追加しないとタスクにExcelが増殖しちゃいました・・・・
No.1
- 回答日時:
メチャクチャ簡単に書きました。
ユーザーフォームモジュールにボタン2個を配置して、
Dim xlApp As New Excel.Application
Dim wb As Workbook
Private Sub UserForm_Initialize()
Application.Visible = False
End Sub
Private Sub CommandButton1_Click() 'Bookを開く
Set xlApp = New Excel.Application
xlApp.Visible = True
Set wb = xlApp.Workbooks.Open(ThisWorkbook.Path & "\aaa.xlsx")
End Sub
Private Sub CommandButton2_Click() 'Bookを閉じる
wb.Close False
Set wb = Nothing
xlApp.Visible = False
Set xlApp = Nothing
End Sub
ようは別のプロセスのExcelアプリケーションを起動させて、その中で別のBookを開けば良いんじゃないかな?
参考にならなかったらごめんなさいね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
非表示になったエクセルは?
Excel(エクセル)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
-
4
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
-
7
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
8
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
9
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
10
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
11
Excel VBAでユーザーフォームだけ表示したい
Visual Basic(VBA)
-
12
EXCELをバッチコマンドで起動したとき、引数を渡せますか
その他(プログラミング・Web制作)
-
13
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
14
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
15
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
16
フレーム内に移動したい
Visual Basic(VBA)
-
17
フォントの大きさ
Visual Basic(VBA)
-
18
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
19
実行時エラー'1004': WorkSheetクラスのVisibleプロパティを設定できません
Visual Basic(VBA)
-
20
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
RPA(PowerAutomate)の実装について
-
VBA Application visibleの...
-
MS onedriveの中にあるaccessプ...
-
LabVIEWでEXCELファイルを操作...
-
*.asp の拡張子名がついたht...
-
このファイルを開く方法で困っ...
-
Access VBAよりシート名を取得...
-
jspのエラーが修正できません。
-
system.mdwを見つけることが出...
-
vb.netでフォルダをcab圧縮する...
-
vbsかバッチファイルでmp3を再...
-
Eclipseで、プロジェクト名のと...
-
Eclipseのアンインストールの仕方
-
split関数で区切り文字がない場合
-
Eclipse「リフレッシュ」と「ク...
-
シンボルが見つかりませんとい...
-
eclipse でclassesフォルダーが...
-
Eclipse・プロジェクトで、フォ...
-
「削除するか、クラスパスの正...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html上で、バッチやexeファイル...
-
VBAで作成したマクロをデスクト...
-
VBA Application visibleの...
-
別のAccessファイルのフォーム...
-
*.asp の拡張子名がついたht...
-
jspのエラーが修正できません。
-
HTMLファイルからexeファイルを...
-
RPA(PowerAutomate)の実装について
-
system.mdwを見つけることが出...
-
EXCELアドイン自動起動マクロ
-
エラー この変数は宣言されて...
-
LabVIEWでEXCELファイルを操作...
-
Access VBAよりシート名を取得...
-
AccessのMDBファイルを自動で最...
-
GUIアプリをコマンドラインで使...
-
VB5が起動しない
-
量子化学計算ソフト GAMESS の...
-
VBでShell○なのにShellExecute×
-
exeファイルが実行中かどうか、...
-
MS onedriveの中にあるaccessプ...
おすすめ情報
おしえてくれませんでしょうか
Dim xlApp As New Excel.Application
Dim wb As Workbook
このコードはどこにかけばいいのですか