
ボタンからユーザーフォームを起動して
指定シートの関数を値貼付けして、その後CSV出力するという動作をさせています。
ボタンでフォームを起動して一連の処理をした後
Excel右上の×ボタンで閉じようとしても反応しなくなります。
Alt+F4もウィンドウを閉じるも効かないので、ファイル>閉じるでBookを閉じて
その後×ボタンが効くようになるのでそれで閉じています。
フォーム起動部分のどこが悪いのか見直してみたのですが分かりません。
ボタンでフォーム起動をせずVBEからF5起動して処理をすると普通に閉じれましたので
ボタンからフォーム起動がよくないと思うのですが。。
どうかご教示いただけませんでしょうか。
Sub フォーム起動()→Private Sub UserForm_Initialize()
Private Sub CommandButton1_Click()(フォーム起動後ボタンクリック)→
Sub 値貼付け()→Sub CSV出力()→Sub フォーム起動()
--------------------------------------------------------------------
●標準モジュール
Sub フォーム起動()
UserForm1.Show
End Sub
Sub 値貼付け()
Dim i As Long
Dim maxRow As Long
Dim C As Range
Dim Rc As VbMsgBoxResult
Rc = MsgBox("FLGが1の行に対して" & vbNewLine & "値貼付けとCSV出力をしてもよろしいですか?", vbYesNo + vbExclamation, "確認")
If Rc = vbYes Then
maxRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
For i = 2 To maxRow
If Cells(i, 2).Value = 1 Then
If Cells(i, 11).HasFormula Then
Set C = Range(Cells(i, 11), Cells(i, 15))
C.Copy
C.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
End If
Next i
Application.ScreenUpdating = True
Range("A1").Select
Call CSV出力
MsgBox ("完了済データの「値貼付け」と「CSV出力」が完了しました。")
Else
MsgBox "処理を中止します", vbCritical
End If
End Sub
Sub CSV出力()
Dim csvFilePath As String
Dim iCount As Long
Dim jCount As Long
Dim kCount As Long
Dim maxRow As Long
Dim maxCol As Long
Dim fileNo As Integer
Dim FileName As String
' ファイル名の取得(拡張子を除く)
FileName = "削除No一覧"
' CSVファイルパスの作成
csvFilePath = "D:\csv\" & FileName & ".csv"
' 最終行
maxRow = ActiveSheet.Range("A1").End(xlDown).Row
' 最終列
maxCol = 1
' ファイル番号
fileNo = FreeFile
' ファイル開く
Open csvFilePath For Output As #fileNo
' 縦方向ループ(最終行まで)
For iCount = 1 To maxRow
' 横方向ループ(最終列-1まで)
For jCount = 1 To maxCol - 1
' ファイル出力(改行なし)
Write #fileNo, Cells(iCount, jCount);
' ループカウンタをコピー
kCount = jCount
Next jCount
If iCount = 1 Then Write #fileNo, Cells(iCount, kCount + 1)
If Cells(iCount, kCount + 2).Value = 1 Then
' 最終列をファイル出力(改行付き)
Write #fileNo, Cells(iCount, kCount + 1)
End If
Next iCount
' ファイルを閉じる
Close #fileNo
End Sub
--------------------------------------------------------------------
●ユーザーフォーム
Private Sub CommandButton1_Click()
If ComboBox1.Value = "" Then
MsgBox "シートを選んでください"
ComboBox1.SetFocus 'コンボ選択
Exit Sub
End If
Sheets(ComboBox1.Value).Activate 'コンボの値のシートをアクティブにする
Call 値貼付け
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
Dim ws As Worksheet
'ユーザーフォームのコンボにシート名を追加
For Each ws In Sheets
If ws.Name <> "MST" Then ComboBox1.AddItem ws.Name
Next
End Sub
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
記載されているプログラムコードの他に、プログラムコードはありませんか?
特に、ThisWorkbookオブジェクトのWorkbook_BeforeCloseイベントプロシジャあたりに・・・。
回答いただきありがとうございます。
再度確認しましたが、記載しているコード以外は何もありませんでした。。
コマンドボタンでフォームを起動せずに
マクロからSub フォーム起動()を選んで実行すれば
正常にExcelは終了できます。
Private Sub CommandButton1_Click()から行くと
フォーム閉じるまでこのプロシージャは終了できないみたいなんですが、それが何か悪いのでしょうか。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
Msgboxの×が押されたとき
Excel(エクセル)
-
-
4
Excel VBA 処理後データが重たくなる&処理スピードが遅いのを解決したい
Visual Basic(VBA)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
ユーザーフォームが消えない
Excel(エクセル)
-
7
コマンドボタンで「終了ボタン」を作りたい!
Excel(エクセル)
-
8
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
9
VBAでCSVファイルが使用中かどうかの確認
Visual Basic(VBA)
-
10
エクセルでファイルを閉じるボタンから閉じれないようにするには
Visual Basic(VBA)
-
11
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
12
ファイルを開かずにマクロを実行
Excel(エクセル)
-
13
エクセルで特定の行だけ行削除、行挿入できないようにロックをかけるには
Excel(エクセル)
-
14
DoEventsが必要な理由について
Visual Basic(VBA)
-
15
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
16
VBA コードを実行すると画面が真っ白になる
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
至急!教えてください!!「Mic...
-
jtrim 1.53cが正常な動きをし...
-
EXCELを起動したとき120%の表...
-
メールソフトThunderbirdに関して
-
ACCESS VBA からのワードファ...
-
USBメモリーのセキュリティ...
-
word 2003の起動で毎回セーフモ...
-
ExcelでVBA実行後×(閉じる)ボタ...
-
Kindle for windowsのバグ
-
LANケーブルを挿すとEXCELが重...
-
outlookの起動について
-
デスクトップ画面 動画撮影
-
CADソフト ユニドラフ(Unidraf...
-
windows10にupしたらoutlookが...
-
pcゲームのセットアップが出来...
-
ベータ版BIOSのアップデートに...
-
Wordが開きません。エラーが発...
-
エクセルの起動時にbook1を開き...
-
postmaster.pid とは?
-
μtorrentのアンインストール方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!教えてください!!「Mic...
-
EXCELを起動したとき120%の表...
-
jtrim 1.53cが正常な動きをし...
-
It works! が表示されるという...
-
VBによるEXCELの書き込み
-
ExcelでVBA実行後×(閉じる)ボタ...
-
メールソフトThunderbirdに関して
-
LANケーブルを挿すとEXCELが重...
-
Windows Media Playerが起動直...
-
Wordを「ファイル名を指定して...
-
CADソフト ユニドラフ(Unidraf...
-
pcゲームのセットアップが出来...
-
パワーポイントのスライドショ...
-
USBメモリーのセキュリティ...
-
Atok に詳しい方。お願いします。
-
office起動時に設定画面が表示...
-
エクセルの起動時にbook1を開き...
-
一連のプログラムを一定間隔で...
-
マルチモニターにエクセルを表示
-
ACCESS VBA からのワードファ...
おすすめ情報