忍者ブログ
  • 2025.05《
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 》 2025.07
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2025/06/19 23:11 |
Window
Excelマクロのモジュールをそのまま貼り付け。
(会社とか家とか出先とかで見るため)
「Option Compare Binary」以下を標準モジュールに貼り付ければ、Myマクロ辞典に!
貼り付け後、「■Sub 」を「Sub 」に置き換えよう!
※公開している以上、利用は自由ですが、自己責任で。


Option Compare Binary
Option Explicit
'ブックとウィンドウ関連マクロ

■Sub ブックの更新()
'マクロ実行中にブックの描画を停止する。

Application.ScreenUpdating = False '画面更新をOFFに!

ThisWorkbook.Save

Application.ScreenUpdating = True '画面更新をONに!

End Sub

■Sub ウィンドウを最前面にする()

'同一ファイルのウィンドウを複数開いている場合のウィンドウの取得
'取得したいウィンドウを指定するにはインデックス番号で指定するかウィンドウ名で指定。
'注意する点は、インデックス番号はアクティブなウィンドウが「1」になるため常に変化する。

Windows(2).Activate
Worksheets("マニュアル").Activate
Range("b2").Select

'一番後ろのウィンドウを最背面(アクティブ)にする …?
ActiveWindow.ActivatePrevious

End Sub

■Sub ウィンドウを最背面にする()

ActiveWindow.ActivateNext '?

End Sub

■Sub 新しいウィンドウを開く()

ActiveWorkbook.NewWindow

End Sub

■Sub ウィンドウの表示切替()

ActiveWindow.WindowState = xlMaximized '最大表示
ActiveWindow.WindowState = xlMinimized '最小表示
ActiveWindow.WindowState = xlNormal '通常表示

Windows.Arrange ArrangeStyle:=5 'アイコンを整列

End Sub

■Sub ウィンドウの更新()

'マクロ実行中に画面描画を停止する。→ブックの更新

End Sub

■Sub ウィンドウの整列()

Workbooks("ID.xls").Activate
Windows.Arrange ArrangeStyle:=xlTiled '(タイル状に)並べて表示

Windows.Arrange ArrangeStyle:=xlCascade '(段々状に)重ねて表示
Windows.Arrange ArrangeStyle:=xlHorizontal '水平に(上下に並べる)
Windows.Arrange ArrangeStyle:=xlVertical '垂直に(左右に並べる)

End Sub

■Sub ウィンドウのサイズ変更()

ActiveWindow.WindowState = xlNormal '画面表示を通常に(not最大化)
ActiveWindow.Height = 200 '高さ変更 28以上の値が指定できます。
ActiveWindow.Width = 900 '幅変更 9以上の値が指定できます。
ActiveWindow.Top = 460 '縦位置変更 マイナス値ok
ActiveWindow.Left = 55 '横位置変更 マイナス値ok

End Sub

■Sub ウィンドウのサイズ変更その2()

Windows(1).Activate

'ウィンドウサイズと位置を指定
ActiveWindow.Height = 200
ActiveWindow.Width = 900
ActiveWindow.Top = 460
ActiveWindow.Left = 55

End Sub

■Sub エクセルのウィンドウサイズの変更()

Application.WindowState = xlNormal '画面表示を通常に(not最大化)
Application.Height = 700 'すべてマイナス値も指定可
Application.Width = 960
Application.Top = 0
Application.Left = 1

End Sub

■Sub ウィンドウ番号を指定()

Windows(i).Activate
'その時点でアクティブなウィンドウが1番目、それ以降はアクティブだった順番に番号に1が加算。

End Sub

■Sub ブック名を変数に導入()

Dim myFile As String
myFile = ActiveWorkbook.Name
Debug.Print myFile

'フルパス付きファイル名を取得
'myfile = ActiveWorkbook.FullName

End Sub

■Sub ブック名をオブジェクト変数に導入()

Dim myFile As Workbook
Set myFile = ThisWorkbook

Range("A1").Value = myFile.Name
Range("A2").Value = myFile.FullName
Range("A3").Value = myFile.Path

myFile Nothing

'WorkbookにはNameのほかに、FullNameとかPathとかのString型のプロパティがあります。

End Sub

■Sub ブック数を取得()

MsgBox Workbooks.Count
'非表示(PERSONAL.XLSとか)もカウントしてしまう

End Sub

■Sub ブックを探す()

'→sheet の「シートを探す」参照

End Sub

■Sub 画面表示されている範囲を取得()

'表示されているセル範囲を取得
MsgBox ActiveWindow.VisibleRange.Address

'表示されている左端のセル番地を取得
MsgBox ActiveWindow.VisibleRange.Cells(1).Address

'表示されている左端の列番号を取得
MsgBox Split(ActiveWindow.VisibleRange.Cells(1).Address, "$")(1)

'表示されている左端の行番号を取得
MsgBox Split(ActiveWindow.VisibleRange.Cells(1).Address, "$")(2)

End Sub

■Sub ウィンドウ枠の固定()

Range("B2").Activate
ActiveWindow.FreezePanes = True

'=falseで固定解除

Windows("Book1").FreezePanes = True

End Sub

■Sub スクロールその1()
'※アクティブセルは移動しません

'行単位または列単位でスクロールする
ActiveWindow.LargeScroll Down:=1, ToRight:=2

'画面単位でスクロールする
ActiveWindow.SmallScroll Up:=-1, ToLeft:=-2

'指定した行番号が上端になるようにウィンドウをスクロール
ActiveWindow.ScrollRow = 行番号

'指定した列番号が左端になるようにウィンドウをスクロールする
ActiveWindow.ScrollColumn = 列番号

'アクティブシートのA1セルを選択してウィンドウをスクロールする
Application.GoTo Range("A1") '※3

'指定シートの指定セルを選択してウィンドウをスクロールする
Application.GoTo Reference:=Worksheets(シート名)
.Range (セル番号), Scroll:=True '※5

End Sub

■Sub スクロールその2()
'※アクティブセルを移動

'指定したセルをウィンドウの左上にしてスクロールする
Application.GoTo Reference:=Range("A1"), Scroll:=True

'スクロールしないが、選択セルが現在のウィンドウ内にない場合スクロールされる
Application.GoTo Reference:=Range("AN35"), Scroll:=True

End Sub

■Sub 枠線を非表示にする()

ActiveWindow.View = xlNormalView
ActiveWindow.DisplayGridlines = False
Range("a1").Select

End Sub

■Sub 枠線の表示切替()

ActiveWindow.DisplayGridlines = True '枠線の表示
ActiveWindow.DisplayGridlines = False '枠線の非表示

End Sub

■Sub 水平スクロールバー()

ActiveWindow.TabRatio = 0.5 '水平スクロールバーを半分の幅に設定

'数値はスクロールバー以外の部分(シートタブ)の割合
'0.1だとシートタブ領域がウィンドウの幅の10%となり、スクロールバーは90%を占める

End Sub
PR
2015/04/14 21:27 | Excelマクロ(VBA) | コメント(0)
<<Timer | ホーム | ドラッカーをパクってみた>>
コメント
コメントの投稿















前ページ | ホーム | 次ページ