![見出し画像](https://assets.st-note.com/production/uploads/images/66681506/rectangle_large_type_2_e457f38a1c672b3d9a1a2f54ba40f268.png?width=1200)
#4 Excelのあれこれを操作しよう!【Excelマクロ講座】
![](https://assets.st-note.com/img/1638242143426-u1QSF4n5zG.png?width=1200)
![](https://assets.st-note.com/img/1638242160232-gM8HhSpm1G.png?width=1200)
セルの値を取得しよう!
まずはマクロを作る
Sub セルの値を取得()
'A1の値を求める
MsgBox Range("A1").Value
End Sub
![画像3](https://assets.st-note.com/production/uploads/images/66526221/picture_pc_0c165dedcaa8ee464b9aa698317cadf2.png?width=1200)
【解説】
Range("A1").Value
「Range」…「範囲」「領域」とかいう意味
「"A1"」…セル番地(Excelの上と左にあるアルファベットと数字の組み合わせ。例.A2、C3など)""ダブルクォーテーション忘れずに!
.Value…値
翻訳すると
Range("A1").Value A1の領域の値 = A1の値
となる!
これをメッセージボックスで表示させる。
![画像1](https://assets.st-note.com/production/uploads/images/66525687/picture_pc_2bda13b28ae964f2c126b2e45b29b7ca.png?width=1200)
マクロを実行!
![画像2](https://assets.st-note.com/production/uploads/images/66525745/picture_pc_b14f752050683606453cf33853fe1891.png?width=1200)
セルの値の取得方法はもう一つある
![画像4](https://assets.st-note.com/production/uploads/images/66526900/picture_pc_d827d3c47bfb8d0484e8f74655b36a0e.png?width=1200)
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](https://assets.st-note.com/production/uploads/images/66539577/picture_pc_751a553424af8d843e6e40f355bf3c94.png?width=1200)
【解説】
Range("A1").Value = 15
訳:Range("A1") の Value に 15を 代入する
![画像6](https://assets.st-note.com/production/uploads/images/66540414/picture_pc_05407b2d66677a8ade35825a600c1e95.png?width=1200)
セルの操作いろいろ
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](https://assets.st-note.com/production/uploads/images/66541477/picture_pc_2511d3cadb208688d87064f9fbc1fd50.png?width=1200)
![画像8](https://assets.st-note.com/production/uploads/images/66541585/picture_pc_ab5f81838d5e1eeff590fc2fc4e71e32.png?width=1200)
Sub セルの値を取得()
'A1の値も設定した書式も全部リセット
Range("A1").Clear
End Sub
A1に何か入力してから実行するとA1の内容が消える!
書式はそのまま値だけ消したい場合は「.ClearContents」というのがある!
![](https://assets.st-note.com/img/1638161923274-wO25TNyk9H.png?width=1200)
![](https://assets.st-note.com/img/1638161979034-XbVn0g0YYW.png?width=1200)
シートを操作してみよう
セルと同じようにシートもあれこれ操作できる。
言葉の並べ方もセルと同じ!
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](https://assets.st-note.com/production/uploads/images/66543636/picture_pc_b028671e150830fa3fb786d943a2b9fe.png?width=1200)
ここまでお疲れ様でした!
次回:
「変数」という概念…
理解できればグッとプログラミングっぽいことができる!
この記事が気に入ったらサポートをしてみませんか?