デイブが2つのワークブックを開いているときは、アレンジ|を使用することがよくあります。それらを同時に表示するには水平。これにより、2つのワークブック間でスペースが均等に分割されます。ただし、デイブが1つのワークブックに数行のデータのみを表示し、もう1つのワークブックに多数の行を表示したい場合がよくあります。彼は、小さいブックのサイズを手動で設定し、Excelで画面の残りのスペースを2番目のブックで埋める便利な方法があるかどうか疑問に思います。

これを手動で行う方法は、Dave(および他のほとんどのExcelユーザー)がすでに慣れ親しんでいる方法です。ウィンドウを水平に配置し、上部のウィンドウのサイズを変更してから、下部のウィンドウのサイズを変更します。このようにして、作業を行うためにウィンドウを希望どおりに配置できます。

ウィンドウのサイズをより自動的に変更する方法が必要な場合は、マクロを使用してタスクを実行できます。次のマクロは、最初のウィンドウのサイズを希望どおりに変更し、2番目のウィンドウのサイズを自動的に変更して、上部のウィンドウの下の残りのスペースを占めるようにします。

Sub UnevenSplit1()

Dim Ht0 As Single     Dim Ht1 As Single     Dim Ht2 As Single     Dim Top2 As Single

If Windows.Count = 2 Then         With Windows(1)

Ht1 = .Height             .WindowState = xlMaximized             Ht0 = .Height         End With         Top2 = Ht1 + 3         Windows.Arrange ArrangeStyle:=xlHorizontal         With Windows(1)

.Top = 1             .Height = Ht1         End With         With Windows(2)

.Top = Top2             .Height = Ht0 - Ht1 - 22         End With         Windows(1).Activate     End If End Sub

開いているブックが2つしかない場合にのみ、マクロはブックウィンドウのサイズを変更します。これより多いまたは少ない場合は、何も起こらないように見えます。

マクロでトップウィンドウのサイズを変更することで、自動化をさらに一歩進めることができます。次の例では、上部のウィンドウが画面の25%を占め、下部のウィンドウが75%を占めています。

Sub UnevenSplit()

Dim Ht1 As Single     Dim Ht2 As Single     Dim Ht1a As Single     Dim Ht2a As Single     Dim Top2 As Single

If Windows.Count = 2 Then         Windows.Arrange ArrangeStyle:=xlHorizontal         Ht1 = Windows(1).Height         Ht2 = Windows(2).Height         Ht1a = Ht1 / 2         Top2 = Ht1a + 3         Ht2a = Ht2 + Ht1a

With Windows(1)

.Top = 1             .Height = Ht1a         End With         With Windows(2)

.Top = Top2             .Height = Ht2a         End With         Windows(1).Activate     End If End Sub

また、このマクロの値は、ウィンドウに表示されている内容に大きく依存することにも注意してください。リボンが垂直方向の深さ全体にある場合は、多くの画面スペースが必要になります。実際、上部のウィンドウが画面の高さの25%を占めていても、リボンやその他のインターフェイス要素によってスペースが占有されているため、ワークシートの行が表示されない場合があります。

2つの可能な解決策があります。 1つは、リボンなどの画面要素を最小化することです。 (リボンを最小化するには、任意のリボンタブをダブルクリックします。)もちろん、他の解決策は、マクロでさまざまな計算を使用してウィンドウの最終的なサイズを決定することです。 (最終的なウィンドウの高さは変数Ht1aとHt2aにあります。)

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13380)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。