
いつもお世話になっております。
おしえてくれませんでしょうか
エクセルを起動すると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も見ています
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
(Excel+VBA)ユーザーフォームのみ表示で完結させたい。
Excel(エクセル)
-
-
4
非表示になったエクセルは?
Excel(エクセル)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
7
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
8
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
11
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
12
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
13
UserForm1.Showでエラーになります。
工学
-
14
excelでVBA実行後に画面に残るゴミを無くしたい。
Excel(エクセル)
-
15
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
16
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
17
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
18
ユーザーフォームをショートカットで立ち上げる。
Access(アクセス)
-
19
ユーザーフォームのSetFocusが働かない?
その他(プログラミング・Web制作)
-
20
スクロールバーでは上下異動できるが、マウスホイールでスクロールしない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
【VBA】 結合セルに複数画像と...
-
vbsでのwebフォームへの入力制限?
-
算術演算子「¥」の意味について
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
Vba セルの4辺について罫線が有...
-
vb.net(vs2022)のtextboxのデザ...
-
ダブルクリックで貼り付けた画...
-
VBAの「To」という語句について
-
VBAでユーザーフォームを指定回...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
【マクロ】並び替えの範囲が、...
-
エクセルの改行について
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
エクセルのVBAコードと数式につ...
-
エクセルのVBAコードについて教...
-
[VB.net] ボタン(Flat)のEnable...
-
【マクロ】変数を使った、文字...
-
改行文字「vbCrLf」とは
-
質問58753 このコードでうまく...
-
【マクロ】シートの変数へ入れ...
-
ワードの図形にマクロを登録で...
-
算術演算子「¥」の意味について
おすすめ情報
おしえてくれませんでしょうか
Dim xlApp As New Excel.Application
Dim wb As Workbook
このコードはどこにかけばいいのですか