【VBA】セルを選択する方法/表示形式・フォント・罫線等を設定

0

    <機能>
    (1)セルを選択するいろいろな方法を実行してみます
     全てのセルの選択
     指定の行または列の選択
     指定の範囲の選択
     複数範囲の選択
    (2)シートの初期化などでよく使用するセルの設定を実行してみます
     列幅、行の高さを指定
     罫線を引く
     セルの表示形式を設定
     フォント種類とサイズを設定
     背景色とフォント色を設定

    <使い方>
    適当なところにソースを張り付けてください
    セルを選択する()を呼び出すと2秒毎にいろいろな方法でセルを選択します
    セルの設定を行う()を呼び出すとセルの設定を順次行います

    <イメージ>
    セルを選択する()実行イメージ
    セルを選択する、行選択、列選択、Selection、VBA
    セルの設定を行う()実行イメージ
    セルの設定を行う、行選択、列選択、Selection、VBA

    '//グローバル変数
    Public gyo As Integer

    '********************************************
    ' セルを選択する色々な方法
    '(1)〜(3)全てのセルを選択する方法
    '(4)〜(5)行を指定して選択する方法
    '(6)列を指定して選択する方法
    '(7)〜(9)範囲を指定して選択する
    '********************************************

    Sub セルを選択する()
        
        '//全て(数式、文字列、書式、コメント、アウトライン)クリア
        Cells.Select
        Selection.Clear
        Selection.ColumnWidth = 10
        Selection.RowHeight = 19
        Selection.Font.Name = "MS ゴシック"
        Selection.Font.Size = 12
        Range("A1").Select
        
        'グローバル変数に初期値をセット
        gyo = 1
        
        '//全てのセルを選択する方法
        '(1)Cellsで選択

        TextOut "(1)Cellsで全てのセルを選択します Cells.Select", 1
        Cells.Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '(2)Rowsで選択
        TextOut "(2)Rowsで全てのセルを選択します Rows.Select", 1
        Rows.Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '(3)Columnsで選択
        TextOut "(3)Columnsで全てのセルを選択します Columns.Select", 1
        Columns.Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '//行を指定して選択する方法
        '(4)Rowsで選択

        TextOut "(4)Rowsで行を指定してセルを選択します Rows(""2:15"").Select", 1
        Rows("2:15").Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '(5)Rangeで選択
        TextOut "(5)Rangeで行を指定してセルを選択します Range(""2:15"").Select", 1
        Range("2:15").Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '//列を指定して選択する方法
        '(6)Columnsで選択

        TextOut "(6)Columnsで列を指定してセルを選択します Columns(""B:K"").Select", 1
        Columns("B:K").Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '//範囲を指定して選択する
        '(7)Rangeで範囲を指定して選択

        TextOut "(7)Rangeで範囲を指定してセルを選択します Range(""B2:K15"").Select", 1
        Range("B2:K15").Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '(8)Range(Cells,Cells)で範囲を指定してセルを選択
        TextOut "(8)Rangeで範囲を指定してセルを選択します Range(Cells(2, 2), Cells(15, 11)).Select", 1
        Range(Cells(2, 2), Cells(15, 11)).Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '(9)Rangeで複数の範囲を指定して選択
        TextOut "(9)Rangeで複数の範囲を指定してセルを選択します Range(""B2:C4, D5:F8, G9:J13"").Select", 1
        Range("B2:C4, D5:F8, G9:J13").Select
        Application.Wait Now + TimeValue("0:00:02")
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
        '(10)選択されている行数、列数を取得
        TextOut "(10)選択されている行数、列数を取得します", 1
        Range("K2:M15").Select
        TextOut "選択セル数=" & Selection.Count, 2
        TextOut "選択行数=" & Selection.Rows.Count, 2
        TextOut "選択列数=" & Selection.Columns.Count, 2
        Range("A1").Select
        TextOut "選択を解除しました", 2
        
    End Sub

    '********************************************
    ' セルにいろいろな設定を行う
    '(1)列幅を指定
    '(2)行の高さを指定
    '(3)罫線を引く
    '(4)セルに表示形式を設定
    '(5)セルにフォント種類とフォントサイズを設定
    '(6)セルに背景色とフォント色を設定
    '********************************************

    Sub セルの設定を行う()
        
        '//全て(数式、文字列、書式、コメント、アウトライン)クリア
        Cells.Select
        Selection.Clear
        Selection.ColumnWidth = 10
        Selection.RowHeight = 19
        Selection.Font.Name = "MS ゴシック"
        Selection.Font.Size = 12
        Range("A1").Select
        
        'グローバル変数に初期値をセット
        gyo = 1
        
        '(1)列幅を指定
        TextOut "(1)列幅を指定します K列=5 L列=10 M:N列=15", 1
        Columns("K").ColumnWidth = 5
        Columns("L").ColumnWidth = 10
        Columns("M:N").ColumnWidth = 15
        
        '(2)行の高さを指定
        TextOut "(2)行の高さを指定します 2:11行=25", 1
        Range("2:10").RowHeight = 25
        
        '(3)罫線を引く
        TextOut "(3)罫線をセットします", 1
        With Range("K2:N11").Borders
            .LineStyle = xlLineStyleNone
            TextOut "LineStyle=xlLineStyleNone(線なし)", 2
            
            '罫線の太さを指定(細い方からxlHairline,xlThin,xlMedium,xlThick)
            .Weight = xlThick
            '罫線の色を指定(赤っぽい色を指定)
            .Color = RGB(150, 54, 52)
            '罫線の種類を変更してみる
            .LineStyle = xlDash
            TextOut "LineStyle=xlDash(破線)", 2
            .LineStyle = xlDashDot
            TextOut "LineStyle=xlDashDot(一点鎖線)", 2
            .LineStyle = xlDashDotDot
            TextOut "LineStyle=xlDashDotDot(二点鎖線)", 2
            .LineStyle = xlDot
            TextOut "LineStyle=xlDot(点線)", 2
            .LineStyle = xlDouble
            TextOut "LineStyle=xlDouble(二重線)", 2
            .LineStyle = xlSlantDashDot
            TextOut "LineStyle=xlSlantDashDot(斜め一点鎖線)", 2
            .LineStyle = xlContinuous
            TextOut "LineStyle=xlContinuous(実線)", 2
        End With
        
        '(4)セルに表示形式を設定
        TextOut "(1)セルに表示形式を設定します", 1
        'K列に「数値(0_ )」をセット
        Range("K2:K11").NumberFormatLocal = "0_ "
        TextOut "K列に「数値」を設定NumberFormatLocal = ""0_ """, 2
        
        'L列に「標準(G/標準)」をセット
        Range("L2:L11").NumberFormatLocal = "G/標準"
        TextOut "L列に「標準」を設定NumberFormatLocal = ""G/標準""", 2
        
        'M列に「3桁区切り少数1桁(#,###.0)」をセット
        Range("M2:M11").NumberFormatLocal = "#,###.0"
        TextOut "M列に「3桁区切り少数1桁」を設定NumberFormatLocal = ""#,###.0""", 2
        
        'N列に「文字(@)」をセット
        Range("N2:N11").NumberFormatLocal = "@"
        TextOut "N列に「文字」を設定NumberFormatLocal = ""@""", 2
        
        Cells(2, 11) = 123
        Cells(2, 12) = "= 16 * 16 * 16 * 16"
        Cells(2, 13) = 987654.321
        Cells(2, 14) = "000123"
        
        '(5)セルにフォント種類とフォントサイズを設定
        TextOut "(5)セルにフォント種類とフォントサイズをセットします", 1
        With Range("K2:N11")
            'HG丸ゴシックM-PRO 16pt
            .Font.Name = "HG丸ゴシックM-PRO"
            .Font.Size = 16
            TextOut "HG丸ゴシックM-PRO 16pt", 2
        
            'MS 明朝 10pt
            .Font.Name = "MS ゴシック"
            .Font.Size = 10
            TextOut "MS 明朝 10pt", 2
            
        End With
        
        '(6)セルに背景色とフォント色を設定
        TextOut "(6)セルに背景色とフォント色をセットします", 1
        With Range("K2:N11")
            'ColorIndexで指定
            .Interior.ColorIndex = 35
            .Font.ColorIndex = 45
            TextOut "ColorIndexで指定 Interior.ColorIndex=5 Font.ColorIndex=10", 2
            
            '16進数(BGR)で指定
            .Interior.Color = &H543000
            .Font.Color = &H2CFFFF
            TextOut "16進数(BGR)で指定 Interior.Color=&H543000 Font.Color=&H2CFFFF", 2
            
            'RGBで指定
            .Interior.Color = RGB(247, 151, 242)
            .Font.Color = RGB(45, 45, 255)
            TextOut "RGBで指定 Interior.Color=RGB(247, 151, 242) Font.Color=RGB(45, 45, 255)", 2
        End With
    End Sub

    '********************************************
    ' テキストを表示して1秒待つプロシージャ
    '********************************************

    Sub TextOut(ByVal strtxt As String, ByVal clm As Integer)
        Cells(gyo, clm) = strtxt
        gyo = gyo + 1
        'テキストを見せるために少し待つ
        Application.Wait Now + TimeValue("0:00:01")
    End Sub

     

    よろしければポチッと押してください

    プログラマー ブログランキングへ



    calendar

    S M T W T F S
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
    << October 2017 >>

    profile

    others

    mobile

    qrcode