メインコンテンツへスキップ
見出し画像

#4 Excelのあれこれを操作しよう!【Excelマクロ講座】

    画像
    画像

    セルの値を取得しよう!

    まずはマクロを作る

    Sub セルの値を取得()
    
    'A1の値を求める
    MsgBox Range("A1").Value
    
    End Sub
    画像3

    【解説】
    Range("A1").Value
    「Range」
    …「範囲」「領域」とかいう意味
    「"A1"」…セル番地(Excelの上と左にあるアルファベットと数字の組み合わせ。例.A2、C3など)""ダブルクォーテーション忘れずに!
    .Value…値

    翻訳すると
    Range("A1").Value A1の領域の値 = A1の値
    となる!

    これをメッセージボックスで表示させる。

    画像1

    マクロを実行!

    画像2

    セルの値の取得方法はもう一つある

    画像4
    Sub セルの値を取得その2()
    
    'A1の値を求める
    MsgBox Cells(1, 1).Value
    
    End Sub

    【解説】
    Cells(1, 1).Value
    「Cells」
    …そのままセルのこと
    「(1, 1)」…行番号(左の数字)と列番号(上のアルファベット)順番気を付けて!
    .Value…値

    どちらもよく使うので覚えておこう!
    \ 忘れちゃってもネットで検索!「VBA セル 取得」とかで出てくるよ /

    セルの値を操作してみよう

    次はA1のセルに値を入力してみる

    Sub セルの値を取得()
    
    'A1の値を15へ
    Range("A1").Value = 15
    
    'A1の値を求める
    MsgBox Range("A1").Value
    
    End Sub
    画像5

    【解説】
    Range("A1").Value = 15
    訳:Range("A1") の Value に 15を 代入する

    画像6

    セルの操作いろいろ

    Sub セルを色々してみる()
    
    '値を入力
    Range("A1").Value = 21 + 5 '計算させたり
    Range("A2").Value = "こんにちは" '文字列を入力したり
    
    
    '装飾
    Range("A1").Font.Size = 15 'フォントサイズを指定したり
    Range("A2").Font.ColorIndex = 10  '文字色を指定したり
    
    End Sub

    セルの属性(.Valueや.Font.Size)は沢山種類があるので、必要な時に都度検索してコピペしよう!

    画像7
    画像8
    Sub セルの値を取得()
    
    'A1の値も設定した書式も全部リセット
    Range("A1").Clear
    
    End Sub

    A1に何か入力してから実行するとA1の内容が消える!
    書式はそのまま値だけ消したい場合は「.ClearContents」というのがある!

    画像
    画像

    シートを操作してみよう

    セルと同じようにシートもあれこれ操作できる。
    言葉の並べ方もセルと同じ!

    Sub シート操作()
    
    'シートの名前を変える
    Sheets(1).Name = "1号"
    
    End Sub

    【解説】
    Sheets(1).Name = "1号"
    Sheets(1)…
    左側から1番目のシート
    .Name…名前

    ★シートの指定の仕方には何通りかある

    Sheets(1).Name = "名前"        ' 左から1番目のシート
    Sheets("Sheet1").Name = "名前" ' シート名「Sheet1」
    
    Worksheets(1).Name = "名前"        ' 左から1番目のシート
    Worksheets("Sheet1").Name = "名前" ' シート名「Sheet1」

    それぞれの違い:
    ①左から何番目(インデックス番号)で指定するかシート名で指定するか
    ②「sheets」を使うか「Worksheets」を使うか
     → sheets=すべてのワークシートを対象とする
     → Worksheets=ワークシートのみを対象(グラフシートなどは除外)

    どれでも使いやすいものでOK!

    シートの追加してみる

    Sub シート追加()
    
    Worksheets.Add
    
    End Sub

    オブジェクト.動作のパターンを使う

    シートの情報を取得してみる

    Sub シート操作()
    
    '今開いているシート名取得
    MsgBox ActiveSheet.Name
    
    End Sub

    【解説】
    ActiveSheet
    …今開いているシート

    画像9

    ここまでお疲れ様でした!

    次回:
    「変数」という概念…
    理解できればグッとプログラミングっぽいことができる!


     
     
    漫画家・イラストレーター 新卒で総務に配属。事務歴・Excel歴7年。会社の人に聞かれて教えているうちにExcelに詳しくなる。 今はフリーランスとして在宅でできる仕事をしながら、夫と娘と猫に囲まれてゆるりと暮らしている。

    あなたへのおすすめ