「今さら」なんてない

「自分にもできそう」を伝播させるブログ

Excel VBA ビュー切替(タスク管理ツール補助機能)

こちらの記事で紹介したExcelタスク管理ツールの補助機能の紹介です。
はじめての方はまずはこちらの記事をどうぞ。 yoshino-ya.hatenablog.com



それでは本題です。

画面スッキリ系として、完了非表示などの前に簡単なものがあったのでこちらからどうぞ。

概要

日付等非表示

日程は見なく俯瞰したい時用

f:id:yoshino-ya:20180623044444p:plain

選択拡張モードの切替

コピーや移動の際、行ごと選択してほしい時用

全体がゴチャゴチャしてくると現在の選択セルがわかりにくくなるので見やすくする用

D列以降選択時は拡張されないようにしています

f:id:yoshino-ya:20180623044458p:plain

画面を分割する

遠くのトピックを参照したりコピーしたりする時用

分割線の位置はドラッグで手動で変更できます

f:id:yoshino-ya:20180623044453p:plain

やること

  1. Sheetモジュール”マスタ”にコードをコピペ

  2. 標準モジュールにコードをコピペ

  3. ショートカットの付与

ショートカット割当方法はこちらをどうぞ

yoshino-ya.hatenablog.com

ショートカットの割当例

キー1 キー2 キー3 動作
Ctrl Shift v 日付等非表示
Ctrl Shift d 画面を分割する
Alt k 選択拡張モードの切替

Sheetモジュール”マスタ”にコピペするコード

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim 選択行上, 選択行下, 選択列
    
    '選択範囲の拡張(行の入れ替え用に最終列まで選択状態にしておく)
    
    If 選択拡張 = True Then
        If ActiveCell.Column <= 3 Then
            Application.EnableEvents = False
            
            選択行上 = Selection(1).Row
            選択行下 = Selection(Selection.Count).Row
            選択列 = Selection.Column
            
            '選択範囲の拡張
                Range(Cells(選択行上, 選択列), Cells(選択行下, "O")).Select
            
            Application.EnableEvents = True
        End If
    End If
    
End Sub

標準モジュールにコピペするコード

Option Explicit
Public Rep1 As Integer, rep2 As Integer
Public 分割状態 As Boolean
    
Sub 日付等非表示()
    
    Select Case Rep1
        Case Is = 1
            Columns("E:I").Hidden = True
            Columns("O:P").Hidden = True
            Rep1 = 2
        Case Else
            Columns("E:I").Hidden = False
            Columns("O").Hidden = False
            Rep1 = 1
    End Select

End Sub

Sub 画面を分割する()
    
    '分割位置は分割線をドラッグすると手動で変更できます
    
    If 分割状態 = False Then
        分割状態 = True
            '分割する
                With ActiveWindow
                    .SplitColumn = 1    'ここはお好みで変更して下さい
                    .SplitRow = 10     'ここはお好みで変更して下さい
                End With
    Else
        分割状態 = False
            '分割を解除する
                With ActiveWindow
                    .SplitColumn = 0
                    .SplitRow = 0
                End With
    End If
End Sub

Sub 選択拡張モードの切替()
    If 選択拡張 = False Then
        選択拡張 = True
        MsgBox "選択拡張モードを【ON】にしました"
    Else
        選択拡張 = False
        MsgBox "選択拡張モードを【OFF】にしました"
    End If
End Sub

以上です。

この1周間、Twitterでの自作ツールへの反応がとても嬉しいです。ただ、実際にお使いになられているかの手応えがない一人相撲感は不安ですね、、、

会社によってセキュリティ上、コードのみのコピペすらできない会社もあるみたいなので自作できる様なコードの可読性や簡単化をもっと向上させていきたいですね。