テキストボックスに値を入れる(4)
- テキストボックスに値を入れる(3)で回答をいただいた、終了ボタンなんですが、このときは、2つのファイルを上書き保存して終了させたのですが、「OkWeb_Menu.xls」の方だけ、上書きせずに終了させたいのですが、どうしたらよいでしょうか?
- いろいろ試して見ましたが、うまくいきません。よろしくお願いします。
- 前回の回答: 2)終了ボタン~Sheet7に配置~ ここでは、メニュー(終了できる方)を「OkWeb_Menu.xls」 データシートを「OkWeb_Data.xls」とします。(ご自分のファイル名に変えてください) 1.タイトルバーの左のアイコンのクリック、 2.タイトルバーの右クリック 3.タイトルバーの×ボタン、 4.メニュー→閉じる、 5.ブックの× では閉じれなくする データシートのThisWorkBookのシートモジュールに貼り付けます。 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Workbooks("OkWeb_Menu.xls").saveOk = False Then MsgBox "メニューから終了させてください!", vbOKOnly Cancel = True Else ActiveWorkbook.Save End If End Sub ***省略*** Workbooks("OkWeb_Menu.xls").saveOk = True Workbooks("OkWeb_Data.xls").Close saveChanges:=True ActiveWorkbook.Save Application.Quit End Sub 前回のURL(3):http://oshiete1.goo.ne.jp/kotaeru.php3?q=85392 (1) http://oshiete1.goo.ne.jp/kotaeru.php3?qid=79173 (2) http://oshiete1.goo.ne.jp/kotaeru.php3?qid=85389
- ベストアンサー
テキストボックスに値を入れる(4)
テキストボックスに値を入れる(3)で回答をいただいた、終了ボタンなんですが、このときは、2つのファイルを上書き保存して終了させたのですが、「OkWeb_Menu.xls」の方だけ、上書きせずに終了させたいのですが、どうしたらよいでしょうか? いろいろ試して見ましたが、うまくいきません。よろしくお願いします。 前回の回答 2)終了ボタン~Sheet7に配置~ ここでは、メニュー(終了できる方)を「OkWeb_Menu.xls」 データシートを「OkWeb_Data.xls」とします。(ご自分のファイル名に変えてください) 1.タイトルバーの左のアイコンのクリック、 2.タイトルバーの右クリック 3.タイトルバーの×ボタン、 4.メニュー→閉じる、 5.ブックの× では閉じれなくする データシートのThisWorkBookのシートモジュールに貼り付けます。 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Workbooks("OkWeb_Menu.xls").saveOk = False Then MsgBox "メニューから終了させてください!", vbOKOnly Cancel = True Else ActiveWorkbook.Save End If End Sub ***省略*** Workbooks("OkWeb_Menu.xls").saveOk = True Workbooks("OkWeb_Data.xls").Close saveChanges:=True ActiveWorkbook.Save Application.Quit End Sub 前回のURL(3):http://oshiete1.goo.ne.jp/kotaeru.php3?q=85392 (1) http://oshiete1.goo.ne.jp/kotaeru.php3?qid=79173 (2) http://oshiete1.goo.ne.jp/kotaeru.php3?qid=85389
- rurucom
- お礼率59% (116/195)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下は、データシートは保存し、メニューは保存しません。 Private Sub cmdSyuryo_Click() Dim myMsg As String myMsg = "データシートを保存して終了します。" If MsgBox(myMsg, vbOKCancel, "確認") = vbCancel Then Exit Sub End If Workbooks("OkWeb_Menu.xls").saveOk = True Workbooks("OkWeb_Data.xls").Close saveChanges:=True ThisWorkbook.Saved = True Application.Quit End Sub
関連するQ&A
- エクセルVBAで、テキストボックスに値を入れる(3)
質問がバラバラになってしまってすみません! エクセルVBAで、テキストボックスに値を入れる(1)の 回答13で、 データシートの何行目~何行目までを印刷させる方法(Sheet7にボタン) をさせるには、どうしたら良いでしょうか?宜しくお願いします。 前回のURL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=79173 http://oshiete1.goo.ne.jp/kotaeru.php3?qid=85389
- ベストアンサー
- オフィス系ソフト
- .xlsにワイルドカードを使うには?
あい20060925.xls を下記のように記述してはいけないようですが、 ワイルドカードをどのように使用すればよろしいでしょうか? 以上 よろしくお願い致します。 -------------------- Sub tes1() '任意のブックの全シートを1つのブックにまとめる Workbooks("あい*.xls").Activate ActiveWorkbook.Worksheets. _ Copy after:=Workbooks("集計.xls").Sheets(Workbooks("集計.xls").Sheets.Count) End Sub --------------------
- ベストアンサー
- オフィス系ソフト
- 値のコピー
Book1.csvの(A1:M17)と(A27:Q43)の値だけをBook2.xlsのsheet1とsheet2にコピーさせたいのですが Book2.xlsに(A27:Q43)の値だけしかコピー出来ないのですがどこが間違っているのでしょうか? CSVの場合、形式が異なる為出来ないのでしょうか? ご教授よろしくお願いいたします。 Sub test() Sheets("sheet1").Select Range("A1:M17").Copy Sheets("sheet1").Select Range("A27:Q43").Copy Workbooks.Open(Filename:="C:\sample\Book2.xls").RunAutoMacros Which:=xlAutoOpen Sheets("sheet1").Range("A1:M17").PasteSpecial Paste:=xlValues Sheets("sheet2").Range("A1:Q19").PasteSpecial Paste:=xlValues Application.CutCopyMode = False Application.DisplayAlerts = False ActiveWorkbook.Save ActiveWorkbook.Close End Sub
- 締切済み
- オフィス系ソフト
- エクセルVBAでパスの¥マークについて
このマクロを記述したBOOKと同じフォルダー内にある、シート001.xls を開くマクロです。 同一フォルダーにあるのですから、このような記述になると思います。 Sub kakunin1() Workbooks.Open (ThisWorkbook.Path & "\" & "シート001.xls") End Sub しかし、以下の3つはすべてシート001.xls を開くことができました。 Sub kakunin2() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "シート001.xls") End Sub Sub kakunin3() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "シート001.xls") End Sub Sub kakunin4() Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "\" & "\" & "\" & "シート001.xls") End Sub パスの¥マークは階層をあらわすのだと思っていましたがいくつ重ねてもなぜ開くのでしょうか?非常に初歩的な質問だと思いますが、ご教示いただければ幸いです。
- ベストアンサー
- オフィス系ソフト
- VBA初心者です。値を貼り付け について質問です。
VBA初心者です。 値を貼り付け について教えてください。 Sub test() With Workbooks("A.xls").Worksheets("sheet1") .Range("A1").Copy Workbooks("Bxls").Worksheets("sheet1").Range("B2") .Range("A2").Copy Workbooks("B.xls").Worksheets("sheet1").Range("B4") End With End Sub コピーする方に計算式が入っているので 値を貼り付け したいのですが、どうすればいいのでしょうか? PasteSpecial Paste:=xlPasteValues を使ったらよいというところまではわかったのですが・・・。 教えてください!よろしくお願いします!
- 締切済み
- Visual Basic
- CreateObjectとGetObjectの違い
当方エクセル2003です。 Sub test_CreateObject() Dim App As Excel.Application Dim MyFileName As String Set App = CreateObject("Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub --------------------------------------------------------- Sub test_GetObject() Dim App As Excel.Application Dim MyFileName As String Set App = GetObject(, "Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub この二つは何が違うのでしょうか? どちらも既存のエクセルファイルがが開きます。
- ベストアンサー
- オフィス系ソフト
- ファイル すべてのシート 値だけ 別のシート
ファイルAのすべてのシートに関数式が含まれています。 このシートを別フォルダーに分割し書き出すことは出来たのですが 関数式まで貼り付けられます。 これを値のみにしたいのですがご教授御願いします。 マクロはこれです。 Sub シート分割() Const path As String = "C:¥" Dim bk As Workbook Set bk = ActiveWorkbook Dim st As Worksheet For Each st In bk.Sheets Workbooks.Add st.Copy Before:=ActiveWorkbook.Sheets(1) ActiveWorkbook.SaveAs path & st.Name & ".xls" ActiveWorkbook.Close Next End Sub
- ベストアンサー
- オフィス系ソフト
- このコードの間違い箇所が解りません!
tes1 の .xls と同じフォルダに 「tes2.xls」 という名前で保存し、閉じる。 というコードなんですが、「tes2.xls」 がなくなってしまいますが、どこが間違ってますでしょうか? 以上 よろしくお願い致します。 --------- Sub tes1() ActiveWorkbook.Close SaveChanges:=True, _ Filename:=ActiveWorkbook.Path & "\tes2.xls" End Sub ---------
- ベストアンサー
- オフィス系ソフト
- VBAでフォルダにあるエクセルファイルを開く
こんにちは このコードがうまく動かないのですが、 どこがいけないのかわからなく助けてください。 なおフォルダの中には******データ.xlsと言うファイルがあり、アスタリスク部分は日付が不規則に変化して上書きされるのです。 このファイルを開くマクロを作りたいのですが。 うまく行きません。 よろしくおねがいします。 Sub excelopen() ' ' Dim エクセル As String 'エクセル = Dir(ActiveWorkbook.Path & "\*データ.XLS") If エクセル = "" Then Exit Sub エクセル = ActiveWorkbook.Path & "\" & エクセル Workbooks.Open Filename:=エクセル End Sub
- ベストアンサー
- オフィス系ソフト
- ブックの終了がうまくいきません
Excel2003 でマクロ作成中の超初心者です。マクロ完成まであと一歩になりました。次から進みません。お願いします。 ブックA ブックB ブックCの3個のブックがあります。 ブックAのコマンドボタン→ ブックBに飛びます。 ブックBには、フォームコントロール(終了するコマンドボタン)と、特定セルにコントロールが張り付けてあります。 ブックA→ブックBの終了ボタン →正常に終了します。 ところが、ブックBのコントロールから、ブックCに移り、 ここからも一度ブックBに戻って終了ボタンを押すとBブックは終了するものの、Cブックが閉じられません。なぜでしょうか? -----Bブックのセルに貼り付けたコントロールのマクロ----- Sub ブックCへ() Application.ScreenUpdating = False Dim wb As Workbook On Error Resume Next '開いて作業中の場合。 Set wb = Workbooks("21年計算01.xls") On Error GoTo 0 If wb Is Nothing Then Set wb = Workbooks.Open(ThisWorkbook.Path & "\21年計算01.xls") End If '開いて作業中の場合。 Workbooks("21年計算01.xls").Activate ActiveWindow.WindowState = xlMaximized - ---最大化 Worksheets(12).Select End Sub -----Bブックのフォームコントロールのマクロ----- Private Sub CommandButton5_Click() Unload Me ActiveWorkbook.Close SaveChanges:=True End Sub -----Cブックのフォームコントロールのマクロ----- Private Sub データ入力_Click() Unload Me Application.ScreenUpdating = False On Error GoTo err: Workbooks("21年計算02.xls").Activate Exit Sub err: Workbooks.Open Filename:=ThisWorkbook.Path & "\21年計算02.xls" '''データ処理.Show Application.ScreenUpdating = True End Sub
- ベストアンサー
- Visual Basic
お礼
nishi6さん!おひさしぶりです。お元気ですか?ここでは途中で終わってしまいましたが、なんとかやってますよー いろいろとおしえていただいたことをさらに発展させながらがんばってます! また、なにかの時に教えてgooでお会いできるといいです!見かけたときはぜひ宜しくお願いします。
補足
こんばんわ!お返事が遅くなりましてすみません! 現在、とりあえず、ソフトのようなものが完成して、実用化しています。 幾つかの問題点が出てきて、修正しながらですけど・・・ ところで、回答いただいた上記の件ですが・・・ ("OkWeb_Menu.xls")が上書き保存されてしまいます。 また ("OkWeb_Data.xls")のほうは、「保存しますか?」のメッセージが出てしまします。いろいろやってみましたが できませんでした。また宜しくお願いします。 それから、テキストボックスに値を入れる(3)のつづきの方も宜しくお願いします。こちらの窓でいいので・・・・(3)の方は、閉じておきます。 あわせて、宜しくお願いします。