• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAで質問です。全画面表示が解除できなくなりました。)

ExcelVBAで全画面表示が解除できなくなった理由と解決方法

このQ&Aのポイント
  • ExcelVBAでワークシートの全画面表示が解除できなくなりました。Excelを閉じても同じ状態が続き、解除方法が分かりません。
  • ツールバーや数式バー、ステータスバーの表示を切り替えるコードが原因でないか確認してください。
  • 解除方法として、マクロの実行時にツールバーやバーの表示を再設定するコードを追加することが有効です。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

ツールバーファイル(*.xlb)の再構築をします。 ご利用のエクセルのバージョンが不明ですので,参考URL及びそこからリンクしているページをご参考に。

参考URL:
http://support.microsoft.com/kb/834643/ja
lanbee
質問者

お礼

早速の回答ありがとうございます。 問題が解決致しました。本当に助かりました。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.1

下記にいろいろ制御のマクロがあります。 全画面表示の制御を実行しても解除できないでしょうか。 http://www.asahi-net.or.jp/~zn3y-ngi/YNxv203.html あるいは、EXCELのヘルプからアプリケーションの自動修復を実行してみたらいかがでしょうか。

lanbee
質問者

お礼

早速の回答ありがとうございます。 解決にはつながらかったけれども、今後の作成の参照として大いに活躍してくれそうです。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBA コマンドバーを消した後に残る空白部分

    お世話になります。 ExcelVBAで、コマンドバーの類を全て消去した後に残る、 空白部分ができる原因が解りません。 この部分をダブルクリックすると、エラーになって強制終了に なってしまいます。 完全に消してしまいたいのですが、この状況になってしまう、 原因と対策を教えてください。 内容は、『システム』という名のシートにある『ロック』ボタンを 押すと、コマンドバーを全て消去して、Sheet1に切り替わるといった 流れです。 ↓モジュール側 ------------------------------------------------------------- Dim myCB As CommandBar Public Sub onCmdBarAttr() DoEvents With Application For Each myCB In Application.CommandBars myCB.Enabled = True Next myCB .CommandBars("Standard").Visible = True .CommandBars("Formatting").Visible = True .CommandBars("Visual Basic").Visible = True .CommandBars("Worksheet Menu Bar").Enabled = True .CommandBars("CELL").Enabled = True ' タスクバーに表示させる .ShowWindowsInTaskbar = True ' 数式バーを表示 .DisplayFormulaBar = True ' ステータスバーを表示 .DisplayStatusBar = True End With End Sub Public Sub offCmdBarAttr() Dim myCB As CommandBar On Error Resume Next For Each myCB In Application.CommandBars myCB.Enabled = False Next myCB On Error GoTo 0 With Application .CommandBars("Worksheet Menu Bar").Enabled = False .CommandBars("CELL").Enabled = False ' 数式バーを消去 .DisplayFormulaBar = False ' ステータスバーを消去 .DisplayStatusBar = False ' タスクバーに表示させない .ShowWindowsInTaskbar = False End With End Sub ' シートロック Public Sub protectSheet(ByVal stSheetName As String) Application.ScreenUpdating = False ' 一旦シート保護をかけ直す With Worksheets(stSheetName) .Activate .Unprotect .Protect UserInterfaceOnly:=True ' カーソルの移動範囲を設定する .ScrollArea = "$A$1" ' 左上セルを選択 .Range("H16").Select ' 保護されたセルは選択不可にする .EnableSelection = xlNoRestrictions End With Application.ScreenUpdating = True End Sub ' シートロック解除 Public Sub unprotectSheet(ByVal stSheetName As String) ' 一旦シート保護をかけ直す With Worksheets(stSheetName) .Unprotect ' スクロール範囲を解除する .ScrollArea = "" ' 保護されたセルでも選択可能にする .EnableSelection = xlUnlockedCells End With End Sub Public Sub setBookAttribute(ByVal bFlg As Boolean) With Windows(ThisWorkbook.Name) ' タブを設定 .DisplayWorkbookTabs = bFlg ' スクロールバーを設定 .DisplayHorizontalScrollBar = bFlg .DisplayVerticalScrollBar = bFlg ' グリッドを設定 .DisplayGridlines = bFlg ' 行列数表示を設定 .DisplayHeadings = bFlg End With End Sub ↓シート側 ------------------------------------------------------ Private Sub btnProtect_Click() ' アプリケーション全体の処理 Call Module1.offCmdBarAttr ' シート単位の処理 Call Module1.protectSheet("Sheet1") ' ブック単位の処理 Call setBookAttribute(False) Worksheets("Sheet1").Activate End Sub Private Sub btnUnprotect_Click() Call Module1.onCmdBarAttr Call Module1.unprotectSheet("Sheet1") Call setBookAttribute(True) End Sub 以上、よろしくお願いいたします。

  • ツールバー表示

    ExcelVBAで左端にツールバー表示をしたく、調べて表示する所までは出来ました。 ですが文字が縦向きになっております。 私は、横向きの文字にしたいのですが、方法はあるのでしょうか? 環境はWindowsXP、Excel2003です。 以下、その部分の関係ありそうなソース(一部)。 Private Sub Workbook_Open() Dim objBar As CommandBar Dim objCont As CommandBarControl Dim objBtn As CommandBarButton Set objBar = xlAPP.CommandBars.Add(Name:=g_cnsTITLE, Position:=msoBarLeft) Set objCont = objBar.Controls.Add(Type:=msoControlButton) Set objBtn = objCont objBtn.Caption = "ボタン1"

  • ExcelVBA  For・・・Next

    今年に入ってからExcelVBAを勉強し始めました For・・・Nextについて疑問があります 例えば下記のような Sub aa() Dim i As Integer For i = 1 To 10 Next ActiveCell.Value = i End Sub 上記を実行するとアクティブセルは[11]になります 普通に考えると[10]だと思うのですが? なぜでしょうか? お願いします

  • コマンドバーのコントロールって全部で何個あるの?

    全部一覧にして書き出してみたいのですが エラーを無視してる為、最高いくつあるのかわかりません。 Sub tes() Dim myBar As CommandBar Dim myCmd As String Dim blYes As Boolean Dim i As Long myCmd = "test" For Each myBar In CommandBars If myBar.NameLocal = myCmd Then blYes = True '既にmyCmdがあるのなら削除する Application.CommandBars("test").Delete Exit For End If Next Set myBar = CommandBars.Add(Name:="test") On Error Resume Next For i = 1 To 2000 myBar.Controls.Add ID:=i Next i myBar.Visible = True Set myBar = Nothing End Sub

  • 【ExcelVBA】同一フォルダ内のオートフィルタを解除したい

    VBAが書かれているファイルと同階層にある、全てのエクセルファイルの全てのシートのオートフィルタを解除したいです。 初心者のため、手始めに「ファイル内の全てのシートのオートフィルタを解除(すべて表示)する」というコードを考えているのですが、 Sub すべて表示() Dim W As Worksheet For Each W In Worksheets ActiveSheet.ShowAllData Next W End Sub とすると、 実行時エラー1004 WorksheetクラスのShowAllDataメソッドが失敗しました となってしまいます。 何がいけないのでしょうか?

  • ExcelVBAについて質問です。

    ExcelVBAについて質問です。 Webのデータを取得したいのですがたまにエラーがでます。 そこで1回エラーが出たら再度同じ処理をして、2回目もエラーが出たら エラーメッセージを表示させたいです。 しかし1回目エラーで2回目取得できたらうまくいくのですが 2回連続でエラーになったら途中で止まってしまいます。 2回連続でエラーになった時の処理方法を教えてください。 Public Sub クリック_Click()  On Error GoTo Err1  Dim エラー As Integer For エラー = 0 To 1  'HTML読み込み   Dim fff As String 'ファイルパス   Dim objIE As Object 'オブジェクト   Dim Myhtml As Variant 'HTMLタグデータ  '制御htmlファイル   phn = ThisWorkbook.Path   fff = "URL"  'Webページ表示   Set objIE = CreateObject("InternetExplorer.Application")   objIE.Navigate fff  '画面表示待ち   Do While objIE.Busy = True    DoEvents   Loop  Myhtml = objIE.Document.Body.innerHTML  objIE.Quit  Sheets("シート").Range("A1").Value = Myhtml Exit Sub Err1:  Next エラー  MsgBox "エラー発生" End Sub

  • エクセル2007にコマンドバーはないのですか?

    Sub コマンドバー作成() Dim myBar As CommandBar Set myBar = CommandBars.Add(Name:="test") myBar.Visible = True End Sub これをしても何も起きないのですが、2007はコマンドバーがないのでしょうか? 2003の時はコマンドバーが作成されました。

  • エクセルVBAでコンパイルエラー

    すみません、どうしても腑に落ちないので質問させてください。 わたしが書いて配布したBOOKのコマンドバーを非表示にするコードなのですが、エクセル2000で、myCB のところでコンパイルエラーになるという連絡がありました。 その方は数台PCをお持ちですべての端末でそうなるとのことです。 しかし、下記コードはこれまで2000でも2003でも2007でも何度も試しており、これまでそのようなことはありませんでした。 Private Sub ALLBARS_Hide()   Dim myCB As CommandBar   For Each myCB In Application.CommandBars     myCB.Enabled = False   Next myCB End Sub どういった原因が考えられるでしょうか? なお、上記コードはAuto_OpenからCallされます。

  • ExcelVBA どこが間違えていますか?

    ExcelVBA 初心者です。 下記のようなプロシージャを人様の作ったのをコピーして作ったのですが意図したとおりになりません。どこが間違っているのか教えてください。 私の意図は選択したフォルダの中の全ファイル(Book)名をアクティブシートのA列に順番に表示したい、です。今は実行すると全部セルA1に表示されてしまって、最後の1つのファイル名しか分かりません。ファイルごとに別のセルに表示したいのです。よろしくお願いします。 Sub ファイル一覧() Dim foldername As String Dim filename As String Dim i As Integer Dim dlg_folder As FileDialog Set dlg_folder = Application.FileDialog(msoFileDialogFolderPicker) Folder_Dialog: dlg_folder.Show If dlg_folder.SelectedItems.Count <> 1 Then Exit Sub Else foldername = dlg_folder.SelectedItems.Item(1) MsgBox "選択したフォルダは " & foldername & " です。" filename = Dir(foldername & "\*.xls", vbNormal) If filename = "" Then MsgBox "Excelファイルがありません。" GoTo Folder_Dialog End If End If Set dlg_folder = Nothing Do While filename <> "" For i = 1 To Workbooks.Count Cells(i, 1).Value = filename i = i + 1 Next i filename = Dir() Loop MsgBox "フォルダ " & foldername & " の中のファイルはすべて表示されました。" End Sub あれ、なぜかインデントが無効になっています。

  • Excel2007互換モードでの右クリックロジック

    100件程度の実績のあるソフトですが、あるお客様のみ不思議な現象が発生しています。 そのお客様はWindowsXP & Excel2007の組み合わせで、ソフトは互換モードで動作しています。 Option Compare Text Option Explicit Sub migi_del() Dim icbc Application.CommandBars("cell").Reset For Each icbc In Application.CommandBars("cell").Controls icbc.Delete Next icbc End Sub Sub migi_add() Dim icbc Application.CommandBars("cell").Reset For Each icbc In Application.CommandBars("cell").Controls icbc.Delete Next icbc With Application.CommandBars("cell").Controls _ .Add(Type:=msoControlButton, Temporary:=True) .Caption = "Message!" .OnAction = "aaa" End With End Sub Sub migi_addTag() Dim icbc Application.CommandBars("cell").Reset For Each icbc In Application.CommandBars("cell").Controls icbc.Delete Next icbc With Application.CommandBars("cell").Controls _ .Add(Type:=msoControlButton, Temporary:=True) .Caption = "Message!" .OnAction = "aaa" .Tag = "aaa" End With End Sub Sub migi_Rest() Dim icbc Application.CommandBars("cell").Reset End Sub Sub aaa() MsgBox "OK" End Sub Sub Sample() Application.CommandBars("Row").Reset Application.CommandBars("Column").Reset End Sub の何れの操作を行っても、右クリックは標準のものが表示されてしまいます。 WindowsXP & Excel2007の組み合わせの他のお客様ではこのような現象は出ていません。 何方か理由をご存知の方はいらっしゃいませんか?