![見出し画像](https://assets.st-note.com/production/uploads/images/86951997/rectangle_large_type_2_5a7b16d1340b68b8f3d98265e7819f25.png?width=800)
Photo by
kotarostudio
便利なコード集(vba)
コピペ(値を張り付け)
Range("A1").Copy
Range("B1").PasteSpecial (xlPasteValues)
その他にも下記の通りの設定が可能です。
入力規則:xlPasteValidation
書式:xlPasteFormats
数式:xlPasteFormulas
すべて:(規定)ですので、何も書かないとこれになります。
削除
Worksheets("シート名").Cells.Clear
シートの記載がすべて削除されます。
※Clearはセルや行の値を空白にします。(削除後、上や左には詰めたりしません。)
Rows("2:" & Cells.Rows.Count).Delete
2行目以降がすべて削除されます。
※Deleteはセルや行自体を削除します。
非表示にする
Columns("D").Hidden = True
D列を非表示にします。行をしたい場合はRowを使用してください。
最終行の取得
Worksheets("シート名").Cells(Rows.Count, "A").End(xlUp).Row
シート名のシートのA列の最後の行
変数に入れても良し、For iの終わりに入れても良しの使い勝手がいいものです。
※エクセルシートの最終行1048576よりCtrl+↑キーを押して止まったセルの行数を返します。
最終列の取得
Worksheets("シート名").Cells(1, Columns.Count).End(xlToLeft).EntireColumn
セルの範囲をアクティブにする
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
A2を選択した後記載のある右端の列まで、記載のある最終行まで選択します。
Split(文字や記号で区切りがある文字列の取り出し)
例えば「123-456-789」とセルのA2に合ったとして
変数 = Split(Range(”A2”), "ー")
変数(0)には123
変数(1)には456
変数(2)には789
が入ります。
ポップアップやエラーの通知を消す/出す
Application.DisplayAlerts = False
Application.DisplayAlerts = True
ファイルを削除
Kill Filepath & "*.csv"
上記のフォルダに入っているcsvファイルをすべて削除します。
エラーの分岐処理
On Error GoTo Err_line
上記を最初に宣言しておくとエラーになった際に下記のフローに進みます。
エラーを分岐
Err_line:
Select Case Err.Number
Case "9" '指定以外のファイルが入っていた場合
Resume Next
Case "58" '同じ名前ファイルが入っていた場合
Resume Next
End Select
case〇〇とはエラー番号、を記述します。
Resume Nextとは上記のエラー番号の場合、エラーを無視して動作を続けます。
ピボットテーブルの作成とテーブルの削除
ActiveSheet.ListObjects.Add xlSrcRange, Range("A1").CurrentRegion, , xlYes
ActiveSheet.ListObjects(1).Unlist
並べ替え
'並べ替え
With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("D1"), Order:=xlAscending ''昇順
.SetRange Range("D1").CurrentRegion
.Header = xlYes
.Apply
End With
D1を含む列の並べ替えを昇順で行います。
絞り込み
’絞り込みたい値のみに絞り込み
Range("A1").AutoFilter 1, "絞り込みたい値"
’複数条件で絞り込み
Range("C1").AutoFilter 3, Array("値1", "値2", "値3"), xlFilterValues
非表示行は飛ばす
If Rows(変数).Hidden Then
End if
非表示を解除
Worksheets("シート名").Cells.EntireColumn.Hidden = False
条件付き書式
Range("A2:B7").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=$B2=""○○"""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
End With
Bのセルに○○と記載されていたらその行のAからBのセルの色を黄緑色にする
With ~ End With(シート名の省略)
With wb.Worksheets("○○")
.Cells(1, 1) = "○○"
End With
よろしければ、サポートお願いします! 頂いたサポートは、noteの運営費や新たなコード作成の開発費に充てさせていただきます。