【初心者が常用で使える】エクセルVBAで便利なコード<セルの操作編>[Excel]
僕が普段、よく使っているVBAの便利なコード【セルの取得編】をまとめてみました。良かったらご参考くださいませ。
【使い方】
使用したい行を一行をそのままコピペして使えます。説明(例 '縦方向)はコメントアウトしていますので、気にならなければそのままでOKです。
■クリア
Range("A1").Clear '全クリア
Range("A1:G10").Clear '複数範囲 全クリア
Range("A1").ClearContents '値だけクリア
Range("A1:G10").ClearFormats '書式だけクリア
Range("A1:G10").ClearContents '数式と値をクリア
Range("A1:G10").SpecialCells(xlConstants, 23).ClearContents 'セル範囲の値だけをクリア
Range("A1:A10,C1:C10,E1:E10").Clear
■削除してシフト
Range("A1").Delete Shift:=xlUp 'A1を削除して上方向にシフト
Range("A1:G1").Delete Shift:=xlUp 'A1~G1を削除して上方向にシフト
Range("A1").Delete Shift:=xlToLeft 'A1を削除して左方向にシフト
Range("A1:G1").Delete Shift:=xlToLeft 'A1~G1を削除して左方向にシフト
■色付け
Range("A1").Font.ColorIndex = xlAutomatic '文字色を自動に
Range("A1").Font.ColorIndex = 3 '赤色に変更(インデックス表記)
Range("A1").Font.Color = RGB(255, 0, 0) '赤色に変更(RGB表記)
Range("A1").Interior.ColorIndex = xlNone '背景色をなしに
Range("A1").Interior.ColorIndex = 35 '黄緑色に変更(インデックス表記)
Range("A1").Interior.Color = RGB(200, 200, 200) '背景色をグレーに変更(RGB表記)
■罫線
'引数省略方式
Range("A1:C3").Borders.LineStyle = xlContinuous '実線をひく
'線の種類
With Range("A1:C3").Borders
.LineStyle = xlContinuous '実線
.LineStyle = xlDash '破線
.LineStyle = xlDot '点線
.LineStyle = xlDouble '二重線
.LineStyle = xlNone '削除
End With
'線の太さ
With Range("A1:C3").Borders
.Weight = xlHairline '極細
.Weight = xlThin '細(指定しなければこれ)
.Weight = xlMedium '中
.Weight = xlThick '太
End With
'線の色
With Range("A1:C3").Borders
.ColorIndex = xlAutomatic '自動(指定しなければこれ)
.ColorIndex = 3 '赤
.ColorIndex = 5 '青
End With
'線の細かい位置
With Range("A1:C3")
.Borders.LineStyle = xlContinuous '枠と格子全部に適用
.Borders(xlEdgeTop).LineStyle = xlContinuous '上辺
.Borders(xlEdgeRight).LineStyle = xlContinuous '右辺
.Borders(xlEdgeBottom).LineStyle = xlContinuous '下辺
.Borders(xlEdgeLeft).LineStyle = xlContinuous '左辺
.Borders(xlInsideHorizontal).LineStyle = xlContinuous '中横線
.Borders(xlInsideVertical).LineStyle = xlContinuous '中縦線
.Borders(xlDiagonalUp).LineStyle = xlContinuous '右上がり斜線
.Borders(xlDiagonalDown).LineStyle = xlContinuous '右下がり斜線
End With
■並び変え
'A1:G10範囲をC1を基準に昇順に並び替え
Range("A1:G10").Sort Key1:=Range("C1"), order1:=xlAscending '昇順
Range("A1:G10").Sort Key1:=Range("C1"), order1:=xlDescending '降順
'3つまで優先キーを設定できる xlYes 先頭行の見出しは並べ替えられない
Range("A1:G10").Sort _
Key1:=Range("C1"), order1:=xlAscending, _
Key2:=Range("B1"), order2:=xlDescending, _
Key3:=Range("D1"), order3:=xlAscending, _
Header:=xlYes
■コピペ
'複数範囲の高速コピペ
Range(Cells(1, 1), Cells(10000, 1)).Copy Cells(1, 2)
Range("A1").Copy 'コピー
Range("A1").PasteSpecial 'ペースト
Range("A1").PasteSpecial Paste:=xlPasteValues '値だけ貼り付け
Range("A1").PasteSpecial Paste:=xlPasteFormats '書式だけ貼り付け
Range("A1").AutoFill Destination:=Range("A1:A5") 'オートフィル
Application.CutCopyMode = False 'コピーモード解除
▼関連記事
VBAマクロの処理が遅くて時間がかかるので、 高速化かつ早く書ける書き方についてまとめてみた【Excel】【関数】
VBAを高速化するにはファンクション関数を使うやり方がおすすめ【Excel】【自動化】【VLOOKUP】
2次元配列を使って一括で値代入して高速化する方法【VBA初心者】【Excel】
この記事が気に入ったらサポートをしてみませんか?