• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 画面分割でアクティブセルの太枠が消える)

VBA 画面分割でアクティブセルの太枠が消える

kkkkkmの回答

  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.1

> 基本アクティブXコントロールに埋め込んで動かしていますが、マクロでも基本的に同様です。 アクティブXコントロールで実行する前に、マクロだけで実行させたら表示されないでしょうか。アクティブXコントロールの後で実行すると、表示タブの分割で実行しても表示されなくなります。あと、フォームのボタンだと表示されると思いますのでActiveXの悪戯のような気がします。

helpokwave
質問者

補足

ご回答ありがとうございます。 ・「表示タブの分割で」の意味がわからないのですが、 ・フォームコントロールに埋め込んでマクロを実行しても私の場合は同じでした。 実は左上の表示領域(panes(1)と言うのでしょうか)では、表示領域を広げてみると太枠が表示されているのがわかり、他の表示領域では表示されていないという現象です。 ・関係ないかもしれませんが、「分割の解除」コントロールをクリックして分割を解除した時、コントロールボタンの内側に破線の四角形が表示されるのも気になっています。(太枠非表示の現象と関係してはいないかと)

関連するQ&A

  • excel vba ジャンプ

    excel2003のUserFormにてtextbox作成しました。 textbox1にページを入力すると指定のページにジャンプする コードを作成したのですが、動作的には目的とする事ができました。 ただ、初心者レベルで作成したので、コード記述が長く、 ページが増えるたびにコードを追記していかなければなりません。 下記に作成したコードを記述します。 もっと簡単に記述する方法はありますか? ---------------------------------------------------------- Private Sub TextBox1_Change() If TextBox1.Value = 1 Then ActiveWindow.ScrollRow = 1 ActiveWindow.ScrollColumn = 1 Range("$A$15").Select End If If TextBox1.Value = 2 Then ActiveWindow.ScrollRow = 38 ActiveWindow.ScrollColumn = 1 Range("$A$38").Select End If If TextBox1.Value = 3 Then ActiveWindow.ScrollRow = 69 ActiveWindow.ScrollColumn = 1 Range("$A$69").Select End If If TextBox1.Value = 4 Then ActiveWindow.ScrollRow = 100 ActiveWindow.ScrollColumn = 1 Range("$A$100").Select End If If TextBox1.Value = 5 Then ActiveWindow.ScrollRow = 131 ActiveWindow.ScrollColumn = 1 Range("$A$131").Select End If End Sub ---------------------------------------------------------- 上記記述で行っていることは、 textbox1に 1 と入力すると1ページ目が表示  キーボードでctrl+Homeの操作をした状態でカーソルがA15選択 textbox1に 2 と入力すると2ページ目が表示  表示の先頭が38行目、カーソルがA38選択 ページの行数が1ページ目だけ37行 2ページ目以降が31行ごとです。 実際は、200ページ以上あるのでなんとかしたいのですが・・・・

  • またまたEXCELmacroについて

    お世話になります。 EXCEL 2016にて 或る表に対して以下のようなmacroを組みました。 動きは思った通りに動いてくれるので問題無いのですが、繰り返しが意外に多くなってしまい、もっとうまいまとめ方が有るように思えてきました。 Select Case 文をまとめるか、別Procにするかで悩んでいます。よろしかったらアドバイスをお願いします。 ---------------------------------------------------------------------- Sub seikatsu() With ActiveWindow If ActiveCell.Column > 5 And ActiveCell.Column < 37 Then Select Case ActiveCell.Row Case 4 To 29 .ScrollRow = 4 .ScrollColumn = 6 Case 37 To 62 .ScrollRow = 37 .ScrollColumn = 6 End Select ElseIf ActiveCell.Column > 43 And ActiveCell.Column < 51 Then Select Case ActiveCell.Row Case 4 To 29 .ScrollRow = 4 .ScrollColumn = 44 Case 37 To 62 .ScrollRow = 37 .ScrollColumn = 44 End Select ElseIf ActiveCell.Column > 54 And ActiveCell.Column < 62 Then Select Case ActiveCell.Row Case 4 To 29 .ScrollRow = 4 .ScrollColumn = 55 Case 37 To 62 .ScrollRow = 37 .ScrollColumn = 55 End Select ElseIf ActiveCell.Column > 65 And ActiveCell.Column < 80 Then Select Case ActiveCell.Row Case 4 To 29 .ScrollRow = 4 .ScrollColumn = 66 Case 37 To 62 .ScrollRow = 37 .ScrollColumn = 66 End Select Else Select Case ActiveCell.Row Case 4 To 29 .ScrollRow = 4 .ScrollColumn = 6 Case 37 To 62 .ScrollRow = 37 .ScrollColumn = 6 End Select End If End With End Sub ---------------------------------------------------------------------- なお、VBAではインデント指定していますが、ここではベタ打ちのようになってしまいます。ご容赦下さい。よろしくお願いします。

  • マクロ【全体指定】

    御世話になります。 下記のマクロコードをあるエクセルファイルの全シート指定で一括処理したいのですが、可能でしょうか? Sub test() 行番号 = 1 ActiveWindow.ScrollRow = 行番号 列番号 = 1 ActiveWindow.ScrollColumn = 列番号 End Sub かなり初歩的な質問で申し訳ありませんが、宜しくお願い致します。

  • エクセルVBA thisworkbookで

    他の方のQ&Aを参照し、以下のことが出来るようになりました。 各シートに記述し、ハイパーリンクをクリックした際、同シート内の参照セルを、画面上の左上に持ってくるというものです。 http://oshiete1.goo.ne.jp/qa631706.html Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Dim ww_j As Long, ww_k As Long ww_j = ActiveCell.Row() ww_k = ActiveCell.Column() ActiveWindow.ScrollRow = ww_j '行 ActiveWindow.ScrollColumn = ww_k '列 End Sub ここからですが、シートが複数あるため、できれば同ブック内で使用したいと考えております。 thisworkbookに記載すればよいかと思ったのですが、うまくいきませんでした。 どのようにすれば、1シートにみではなく、1ブック内で使用できるか、お教えくださいますようお願い申し上げます。

  • VBA:助けてください。呼び出してもいないのに独立なプロシージャへ、処理が飛んでしまう。アドバイスお願い致します。

    Useform1のコマンドボタンをクリックすると Private Sub CommandButton1_Click() Call 処理 End Sub というように、「処理」を呼び出し。これで終わるようにしていました。しかし、不具合が出てしまい、ステップインで見てみると「処理」からEndSubに行き、その後Useform2のコマンドボタンイベントのEnd Withへ Private Sub CommandButton1_Click() With Userform1 .... End With ←    ・・・ End Sub 上のように矢印の部分へ飛んでしまいます。全く、独立な、コマンドイベントへ飛んで処理されているのです。それも、飛んだ箇所がEnd Withからです。こんなことがあるのでしょうか? Private Sub CommandButton1_Click() Call 処理 Exit Sub End Sub 上のようにExit Subを追加してもやはりそこから飛んでしまいます。 なぜでしょうか?詳しい方アドバイスお願い致します。

  • VBAで全画面/数式バーが出ない?

    エクセル2013です。 以下のVBAでFullscreenにすると、なぜか数式バーがでません。 これまでのエクセル2010では、このコードでちゃんと出ていました。 エクセル2013でも全画面表示で数式バーを出すためにはどうしたらよいのでしょうか? Sub FullSize() ActiveWindow.WindowState = xlMaximized With Application .WindowState = xlMaximized .DisplayFullScreen = True .DisplayFormulaBar = True '2013では数式バーが出ない! End With End Sub

  • VBA コマンドボタン 頭に0がでない

    各ボタンに以下を入れる Private Sub CommandButton1_Click() Selection.Value = Selection.Value & "1" End Sub Private Sub CommandButton2_Click() Selection.Value = Selection.Value & "2" End Sub . . Private Sub CommandButton10_Click() Selection.Value = Selection.Value & "0" End Sub Private Sub CommandButton11_Click() Selection.Value = Selection.Value & "." End Sub 0.1と入力しても0.1が表示できなく、1となってしまいます。 また.1と入力しても0.1でなく、1になってしまいます。 どうすれば良いでしょうか?

  • VBAのCallステートメントについて

    ExcelのSheet1にCommandButton1(表示)があります。 -------------------------------------------------- Private Sub 表示_Click() (DBより表示処理) End Sub -------------------------------------------------- UserForm1にCommandButton1(登録)があります。 -------------------------------------------------- Private Sub 登録_Click() (DBへの登録処理) UserForm1.Hide Call WorkSheets("Sheet1").表示_Click() ・・・☆ Exit Sub End Sub -------------------------------------------------- 表記のようなプログラムにしたところ、☆印のところで、 下記エラーが表示されてしまいます。 【エラー】--------------------------------------------------- 実行時エラー'91': オブジェクト変数またはWithブロック変数が設定されていません。 ------------------------------------------------------------- どのようにしたらCallステートメントで表示_Clickを呼び出すことが できるのでしょうか。

  • エクセル画面を上下に2分割した場合のマクロについて

    エクセル画面を上下に2分割したく、下記のマクロを用いております。 すなわち、上下2分割した上のほうのシートは、A1:S30 までスクロール可能とし、 下のほうのシートは、A50:S80までスクロール可能です。 しかし、操作中に、上のシート表示が、いけないはずの50列あたりまでスクロールしてしまい、戻せなくなってしまいます。また、下のシートも同様です。 難しいかと思いますが、上下のシートが表示列を守るようにできますでしょうか。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next If ActiveWindow.Panes.Count = 1 Then ActiveSheet.ScrollArea = "" Exit Sub End If ActiveSheet.ScrollArea = IIf(ActiveWindow.ActivePane.Index = 1, "A1:S30 ", "A50:S80") End Sub

  • エクセルVBAでCSV読み込みについて質問します。

    エクセルVBAでCSV読み込みについて質問します。 外部データの取り込みマクロを自動記録で作成しましたが、 csvファイル名が決まってしまうで、他のCSVファイルに展開できません。 できれば、マクロ実行(ファイル選択)ボタンを押すとウィンドウが出てきて、 任意の場所にあるCSVファイルを選択できるようにできないでしょうか? マクロは、書き込むエクセルブックが開いている状態からスタートし、シート名は共通です。 自動記録で完成したマクロは以下の通りです。 With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;C:¥Documents and Settings¥USER¥My Documents¥VBA¥マクロ¥取り込み¥TEST1.csv" _ ’”¥”が誤変換されるので、直接入力しました。      , Destination:=Range("M6")) , Destination:=Range("M6")) _ , Destination:=Range("M6")) .Name = "290TEST1" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 932 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _ 2) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 4 '以下、続くので省略しました。 End Sub どなたか、お助けお願いします。