欲しいが見つかる!すぐに使えるマクロ集

てちてちエンジニアのおっとーです。

数あるVBA関連の投稿から、この投稿を見つけて頂きありがとうございます。

この投稿はいいマクロを思いついたら随時更新していき、
お気に入り必須のページに仕上げていく予定です。

普段VBAを使う方も、いずれ使うかもしれない方もぜひお気に入りお願いします

マクロを使いたいけど使い方がわからない方は、
以下の記事で紹介していますので、先に見ていただくことをおすすめします。

【Excel】マクロの使い方

【Excel】マクロの使い方〜ステップアップ編〜

 

サンプルコード内にコメント程度では処理内容を記載するかもしれませんが、
基本的にこの投稿では、細かい処理の内容は紹介しません。

コピペして使える状態でサンプルを提供することを心がけますが、
読者様のExcelで動かない場合があります。
その際は適宜修正いただくか、お問い合わせからご連絡お願いします。

アクティブブックのシートをすべて表示する

Sub AllSheetsVisible()
Dim sht As Worksheet
    For Each sht In ActiveWorkbook.Sheets
        sht.Visible = True
    Next sht

End Sub

指定したシートを完全に非表示にする

Worksheets("シート名").Visible = xlSheetVeryHidden  

指定の文字を含んだシートの表示切り替え

Sub 呼び出し例()
Call ChangeVisibleSpecial(xlSheetVisible)       '表示
Call ChangeVisibleSpecial(xlSheetHidden)        '非表示
Call ChangeVisibleSpecial(xlVeryHidden)         '完全非表示
End Sub
'============================================
Public Sub ChangeVisibleSpecial(visibility As Variant)
Dim sht As Worksheet
    'シート名の最初の文字が@のシートに対して表示設定
    For Each sht In ThisWorkbook.Sheets
        If Left(sht.Name, 1) = "@" Then
            sht.Visible = visibility
        End If
    Next sht
End Sub

アクティブシートの使用済みセル範囲から、入力した文字が含まれるセルの背景色を赤にする

Sub 検索文字を含むセルの背景色を変える()
Dim targetCell As Range
Dim searchWord As String

searchWord = InputBox("対象文字を入力")
For Each targetCell In ActiveSheet.UsedRange
    If targetCell.Value = searchWord Then
        targetCell.Interior.Color = RGB(255, 0, 0)  '背景色設定
    End If
Next targetCell
End Sub

印刷範囲の区切り線の表示/非表示切り替え

Sub 区切り線を消す()
ActiveSheet.DisplayPageBreaks = Not ActiveSheet.DisplayPageBreaks
End Sub

コメント

タイトルとURLをコピーしました