No.1ベストアンサー
- 回答日時:
'ThisWorkbook に登録してください。
'Application.ScreenUpdating を入れたら、どうも誤動作するようです。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'閉じる時
Dim LCount As Long
Dim i As Long
Dim ret As Variant
On Error GoTo ErrHandler
With ThisWorkbook
With Worksheets("Sheet2").ListBox1
LCount = .ListCount
For i = 0 To LCount - 1
If .Selected(i) Then
ret = ret & "," & i
End If
Next i
End With
.CustomDocumentProperties("ListData").Value = Mid(ret, 2)
End With
Exit Sub
ErrHandler:
With ActiveWorkbook.CustomDocumentProperties
.Add Name:="ListData", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:=0 '
End With
Resume Next
End Sub
Private Sub Workbook_Open()
'開くとき
Dim buf As Variant
Dim ar As Variant
Dim v As Variant
With ThisWorkbook
buf = .CustomDocumentProperties("ListData").Value
ar = Split(buf, ",")
.Worksheets("Sheet2").Select
With Worksheets("Sheet2").ListBox1
For Each v In ar
.Selected(v) = True
Next v
End With
End With
End Sub
で、で、、、出来ました!
ありがとうございます。
以下の部分でエラーが出ていたので、この部分を削除しました。
-----------------------------------------------
ErrHandler:
With ActiveWorkbook.CustomDocumentProperties
.Add Name:="ListData", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:=0 '
End With
-----------------------------------------------
また、"Sheet2"はないので"Sheet1"に書き換えました。
しかし難しいマクロですね。もっと簡単にできると思っていました(汗)。。。。
No.2
- 回答日時:
シート名、Sheet1を使えなかったので、Sheet2 にしたので、こちらのミスですが、
ErrHandler:
With ActiveWorkbook.CustomDocumentProperties
・
・
---------------------------------
ここは、基本的にエラーが出ることはありえませんから、おそらく、VBEditor のオプションのエラーモードが、違っている可能性があります。後々、こまって現象がおきます。
VBE-->ツール-->オプション-->全般(Tab)
エラートラップ
エラー処理対象がいのエラーで、中断
を選択されているか確認してください。
http://msdn.microsoft.com/ja-jp/library/cc344016 …
「エラー トラップ] セクションでは、デバッグ操作で行う作業に適した
オプションを選択してください。既定の設定は
[エラー処理対象外のエラーで中断] です。」
ThisWorkbook の中にあった他のマクロが邪魔していたようです。
まっさらにしてから貼り付け直したら出来ました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでファイル保存時に複数シートのオートフィルタを全て解除したい 1 2023/05/10 13:23
- Visual Basic(VBA) VBAでファイル名を指定して保存するとき 4 2023/03/26 21:55
- Excel(エクセル) ipadのエクセルでキャラの選択をしたい。 1 2022/09/21 08:58
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) 起動中のアプリ、ソフトの取得 3 2022/12/28 11:13
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Excel(エクセル) エクセルで保存時に全部のシートの最終行をコピーして数値で貼り付けたい 3 2023/08/14 15:49
- Word(ワード) 使用してないワード2013が起動してライセンス認証を求められる 1 2022/04/05 11:31
- Windows Vista・XP PC パソコンのダウンロードについて 1 2022/04/26 16:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
エクセルVBA 「On Error GoTo...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
On ErrorでエラーNoが0
-
実行時エラー'-2147467259(8000...
-
ACCESSで値を代入できないとは?
-
データベース操作時エラーについて
-
実行したSQLの結果を返す方法
-
オブジェクト型の変数にフォー...
-
【VBA】ワークブックを開く時に...
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
VB.net 重複チェックがしたいです
-
「実行時エラー '3167' レコー...
-
マクロで"#N/A"のエラー行を削...
-
Excel実行時エラー[80004005]に...
-
UBoundに配列がありませんとエ...
-
エラー処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
On ErrorでエラーNoが0
-
VBAでfunctionを利用しようとし...
-
マクロで"#N/A"のエラー行を削...
-
VBA データ(特定値)のある最...
-
実行時エラー 438 の解決策をお...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
エクセルVBA 「On Error GoTo...
-
【VBA】ワークブックを開く時に...
-
マクロの「SaveAs」でエラーが...
-
ACCESSで値を代入できないとは?
-
実行時エラー'-2147467259(8000...
-
インポート時のエラー「データ...
-
【VB.NET】 パワポ操作を非表示で
-
Filter関数を用いた結果、何も...
-
UBoundに配列がありませんとエ...
-
Excel vbaについての質問
-
メールの件名のセットでエラー...
おすすめ情報