すぐに役立つエクセルVBAマクロ集 - すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
Macro
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile

500連発・組み方講座フォロー

Big Color Pallet

[広告]
 
Excel VBA Macro
Excel DownLoad
© 1997 - 2007
Yoshioh Nagai.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Sample Macro  セル制御 [応用型] Previous Next
セル制御
[応用型]
1) セルの色を調べる
2) セルの色を置換する
3) セルに数式があれば値に置換
4) セルの内容が空白でないなら処理する
5) セルが結合されているか調べる
6) 文字列を追加しその一部分を斜体にする
7) セルのフォントが太字か調べる


1) セルの色を調べる もくじへ 使用可能なExcelのバージョン
'=========================================================================================
Sub セルの色を調べる()
    Sheets("SSS").Select                             '※1
    メッセージ = "A1のように入れてください"
        タイトル = "調べたいセル?"
        セル = InputBox(メッセージ, タイトル)           'インプットボックスで入力
    色番号 = Range(セル).Interior.ColorIndex            '色番号を調べる
    タイトル = セル & "セルの色番号は"
        If 色番号 = -4142 Then
            メッセージ = "なし(-4142)"
        Else
            メッセージ = 色番号
        End If
        メッセージ = メッセージ & "です"
        スタイル = vbInformation
        MsgBox メッセージ, スタイル, タイトル           'メッセージボックスで答える
End Sub
'=========================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 シートのレイアウトは下図のとおり、上記マクロはこのシート内のセル番号を入力する前提
サンプルシート


2) セルの色を置換する もくじへ 使用可能なExcelのバージョン
'=========================================================================================
Sub セルの色を置換する()
    旧色 = 4                                    '※1
    新色 = 6                                    '※1
    Application.FindFormat.Interior.ColorIndex = 旧色
    Application.ReplaceFormat.Interior.ColorIndex = 新色
    Cells.Replace What:="", Replacement:="", SearchFormat:=True, ReplaceFormat:=True
End Sub
'=========================================================================================
<コメント>
※1 4、6にはカラーパレットのインデックス番号(上図参照)を記入


3) セルに数式があれば値に置換 もくじへ 使用可能なExcelのバージョン
'=========================================================================================
Sub 選択セル範囲の各セルに数式があれば値に置換する()
Dim セル範囲, 各セル
    Set セル範囲 = Application.InputBox(Prompt:="セル範囲を選択してください", Type:=8)
    For Each 各セル In セル範囲                 'セル範囲内の各セルについて
        If 各セル.HasFormula = True Then        '数式が入力されていれば
            各セル.Value = 各セル.Value
        End If
    Next                                        '繰り返す
End Sub
'=========================================================================================


4) セルの内容が空白でないなら処理する もくじへ 使用可能なExcelのバージョン
'=========================================================================================
Sub セルの内容が空白でないなら処理する()
    列 = 1                                      '調査対象セルの列番号
    For 行 = 1 To 10                            '行番号1から始め10まで(反復時は1アップ)
        If Cells(行, 列) <> "" And Cells(行, 列) <> " " And Cells(行, 列) <> " " Then '空
'                                                白セルなら ※1
            MsgBox 行 & "行目は、空白でないので処理します"
        End If
    Next                                        '繰り返す(Forへ戻る)
End Sub
'=========================================================================================
<コメント>
※1 ""は、Null文字列または長さが0の文字列と呼ばれ、セルを選択して[Delete]キーを押した場合


5) セルが結合されているか調べる もくじへ 使用可能なExcelのバージョン
'=========================================================================================
Sub セルが結合されているか調べる()
    Worksheets("SSS").Activate                  '※1
    Set 調査対象セル = Application.InputBox(prompt:="マウスでセルを選択してください。" _
        , Title:="結合されているか調査", Type:=8)
    If 調査対象セル.MergeCells Then
        MsgBox 調査対象セル.Address & "セルとして結合されています。"
    Else
        MsgBox 調査対象セル.Address & "セルは結合されていません。"
    End If
End Sub
'=========================================================================================
<コメント>
※1 SSSにはシート名を記入


6) 文字列を追加しその一部分を斜体にする もくじへ 使用可能なExcelのバージョン
'=========================================================================================
Sub 文字列を追加しその一部分を斜体にする()
    With Range("B1")                            'アクティブシートの指定セル ※1
        .Value = "普通と斜体"
        .Characters(4, 2).Font.Italic = True    '4文字目から2文字を斜体に
    End With
    With Worksheets("SSS").Range("B1")          '指定シートの指定セル ※1,2
        .Value = "斜体と普通"
        .Characters(1, 2).Font.Italic = True
    End With
End Sub
'=========================================================================================
<コメント>
※1 SSSにはシート名を記入
※2 B1にはセル番号を記入



7) セルのフォントが太字か調べる もくじへ 使用可能なExcelのバージョン
'=========================================================================================
Sub セルのフォントが太字か調べる()
    セル = "A1"                                 '※1
    If Range(セル).Font.Bold = True Then        '※2
        MsgBox "太字です"
    Else
        MsgBox "太字ではありません"
    End If
End Sub
'=========================================================================================
<コメント>
※1 A1にはセル番号を記入
※2 BoldをItalicにすると車体になる