見出し画像

便利なコード集(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(SelectionSelection.End(xlToRight)).Select
Range(SelectionSelection.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 xlSrcRangeRange("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 3Array("値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


この記事が参加している募集

#スキしてみて

525,489件

よろしければ、サポートお願いします! 頂いたサポートは、noteの運営費や新たなコード作成の開発費に充てさせていただきます。